Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
|
AW: Performanceproblem parambyname und sql like
10. Okt 2013, 15:01
Wie wir eben gelernt haben, tritt das nur bei Parametern auf. Sonst ist Firebird sehr wohl in der Lage einen Index bei Like zu verwenden.
Das Problem bei Parametern ist, dass Firebird beim Prepare ggf. noch keine Parameter kennt. Erst wenn ein Parameter gesendet wird, KÖNNTE Firebird darauf reagieren. Dazu müsste Firebird den Parameter aber auch analysieren...
Und dann ist es auch möglich, weitere Parameter abzuschicken, die das selbe Prepared-Statement verwenden. Das Prepare müsste also erneut durchgeführt werden. (Und somit den Ausführungsplan erneut aufbauen) Das würde die Sache mit dem Prepared-Statements aber wieder sinnlos machen...
Wie ich schon schrieb: Das ginge in diesem Fall zwar sicher schneller als der FullTableScan, aber ggf. ist es in anderen Szenarien nicht erwünscht...
|