Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Performanceproblem parambyname und sql like (https://www.delphipraxis.net/177007-performanceproblem-parambyname-und-sql-like.html)

tsteinmaurer 10. Okt 2013 18:39

AW: Performanceproblem parambyname und sql like
 
Grundsätzlich kann Firebird einen Index bei z.B. LIKE 'Test' bzw. LIKE 'Test%' verwenden, allerdings nicht bei einem Prepared Statement.

Beim Prepare erstellt Firebird unter anderem den Ausführungsplan. Da zu diesem Zeitpunkt noch nicht bekannt ist welche Parameterwerte daherkommen können, was bei einem LIKE alles bzgl. Platzhalter (% ...) sein kann, wird Firebird dafür nie einen Index verwenden können.

Anders sieht es aus, wenn man STARTING WITH anstatt von LIKE in einem Prepared Statement verwendet. Mit dieser Klausel ist für Firebird sichergestellt, dass keine Platzhalter daherkommen können. Somit wird im Ausführungsplan auch ein Index aufscheinen, sofern natürlich einer für das Feld vorhanden ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:18 Uhr.
Seite 4 von 4   « Erste     234   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz