Haftungsausschluss: Alles unten ist nur anekdotisch und stammt direkt aus meiner persönlichen Erfahrung. Jeder, der Lust hat, eine empirisch strengere Analyse durchzuführen, kann diese gerne durchführen und abstimmen, wenn ich es bin. Mir ist auch bewusst, dass SQL eine deklarative Sprache ist und Sie nicht berücksichtigen müssen, wie Ihr Code beim Schreiben verarbeitet wird, aber weil ich meine Zeit schätze, tue ich das auch.
Es gibt unendlich viele logisch äquivalente Aussagen, aber ich werde drei (ish) betrachten.
Fall 1: Zwei Vergleiche in einer Standardreihenfolge (Bewertungsreihenfolge festgelegt)
A> = MinBound UND A <= MaxBound
Fall 2: Syntaktischer Zucker (Bewertungsreihenfolge wird vom Autor nicht gewählt)
EIN ZWISCHEN MinBound UND MaxBound
Fall 3: Zwei Vergleiche in einer gebildeten Reihenfolge (Bewertungsreihenfolge zum Zeitpunkt des Schreibens gewählt)
A> = MinBound UND A <= MaxBound
Oder
A <= MaxBound AND A> = MinBound
Nach meiner Erfahrung weisen Fall 1 und Fall 2 keine konsistenten oder bemerkenswerten Leistungsunterschiede auf, da sie den Datensatz nicht kennen.
Fall 3 kann jedoch die Ausführungszeiten erheblich verbessern. Insbesondere, wenn Sie mit einem großen Datensatz arbeiten und zufällig heuristische Kenntnisse darüber haben, ob A mit größerer Wahrscheinlichkeit größer als MaxBound ist oder kleiner als der MinBound ist , können Sie die Ausführungszeiten spürbar verbessern, indem Sie Fall 3 verwenden und die Vergleiche anordnen entsprechend.
Ein Anwendungsfall, den ich habe, ist das Abfragen eines großen historischen Datensatzes mit nicht indizierten Daten für Datensätze innerhalb eines bestimmten Intervalls. Beim Schreiben der Abfrage habe ich eine gute Vorstellung davon, ob vor dem angegebenen Intervall oder NACH dem angegebenen Intervall weitere Daten vorhanden sind, und kann meine Vergleiche entsprechend anordnen. Die Ausführungszeiten wurden je nach Größe des Datasets, der Komplexität der Abfrage und der Anzahl der durch den ersten Vergleich gefilterten Datensätze um die Hälfte reduziert.