Der Optimizer soll einen effizienten Ausführungsplan für alle syntaktisch korrekten Abfragen erzeugen und dies in Sekundenbruchteilen. Es ist ganz normal, dass die Entwickler dabei Kompromisse eingehen mussten. Es gibt Situationen, in denen der Optimizer immer wieder scheitert. Diese zu kennen, spart Zeit in der Fehlerdiagnose und der Behebung. Im Laufe der Zeit habe ich für mich selbst griffige Namen für klassische Fehlersituationen entwickelt, die mir das Einordnen von Optimizer Fehlern erleichtert. Diese Systematik gebe ich gerne weiter. Wir lernen klassische Fehlersituationen durch Betrachten der Laufzeitstatistiken zu erkennen, ein zu ordnen und zu beheben.