Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Abfrageverarbeitung » Abfragen optimieren und ausführen » Semantische Abfragentransformation

 

Unnötige Konvertierung der Groß- und Kleinschreibung eliminieren

Standardmäßig berücksichtigen SQL Anywhere-Datenbanken beim Vergleichen von Zeichenfolgen die Groß- und Kleinschreibung nicht. Gelegentlich trifft der Optimierer auf Abfragen, in denen der Benutzer über die integrierten Funktionen UPPER, UCASE, LOWER oder LCASE ausdrücklich die Textkonvertierung erzwingt, obwohl diese Konvertierung nicht erforderlich ist. SQL Anywhere eliminiert automatisch diese unnötige Konvertierung, wenn die Kollatierungssequenz der Datenbank dies zulässt. Ein zusätzlicher Vorteil der Eliminierung von Konvertierungen der Groß- und Kleinschreibung in Prädikaten ist die Transformation einiger Prädikate in Sargable-Prädikate, die für den indizierten Abruf der entsprechenden Tabelle benutzt werden können.

Beispiel

Betrachten Sie die folgende Abfrage:

SELECT *
FROM Customers
WHERE UPPER(Surname) = 'SMITH';

In einer Datenbank, die keine Groß- und Kleinschreibung berücksichtigt, wird diese Abfrage wie folgt neu geschrieben, sodass der Optimierer möglicherweise einen Index für "Customers.Surname" verwenden kann:

SELECT *
FROM Customers
WHERE Surname = 'SMITH';