Die Verbesserung der performance auf einen Blick mit einer MENGE von joins

Habe ich eine Ansicht, die verwendet 11 outer-joins und zwei inner joins um die Daten zu erstellen. Dies resultiert in über 8 Millionen Zeilen. Wenn ich ein count (*) auf dem Tisch, dauert es etwa 5 Minuten zu laufen. Ich bin an einem Verlust, wie die Leistung dieser Tabelle. Hat jemand irgendwelche Vorschläge, wo zu beginnen? Es gibt Indizes auf alle Spalten, die den Beitritt (obwohl einige composit, nicht sicher, ob das einen Unterschied macht...)

Jede Hilfe dankbar.

  • haben Sie schaute auf die geschätzten/tatsächlichen Ausführungsplan? Sie werden Ihnen sagen, wenn Sie fehlt ein index irgendwo
  • Ich sah Sie an. Es gibt keine Tabelle durchsucht, die nehmen jede bedeutende Zeit. Es gibt eine Menge von "Hash-Matches", die zu schlechter Leistung, aber Hash-matches werden nur dann ausgeführt, wenn die Indizes werden verwendet, richtig?
  • einen trick fand ich sehr nützlich, zu brechen, eine komplexe Abfrage in Unterabfragen, z.B. wenn Sie eine Abfrage mit 11 Verknüpfungen - es ist eine harte Arbeit für Optimierungstools, die im Allgemeinen nicht in der Lage, unter Berücksichtigung von mehr als 4 Verknüpfungen auf einmal. Ich würde versuchen zu halten äußeren Abfrage mit 4 joins andere Verknüpfungen zu Unterabfragen. Hat mir geholfen, in ein paar Fällen.
InformationsquelleAutor Abe Miessler | 2009-12-17
Schreibe einen Kommentar