Zitat von
mkinzler:
Zitat von
mschaefer:
Meine Beobachtung ... ist, dass Firebird ab etwa 5000 Datensätezn doch deutlich langsamer wird, wenn man mit Like-Statements arbeitet. Auch Indexe bringen hier nur begrentzt eine Lösung.
Like-Statements sollte man wenn möglich vermeiden, da für sie
keine Indizes verwendet werden können. Sie führen (nicht nur bei FireBird) zu deutlichen Geschwindigkeitseinbußen.
Zitat von
sancho1980:
da gibt es schon mal so eine halbe Million Einträge, und damit sollte der Server dann bitte hoffentlich echt kein Problem haben.
Die reine Anzahl an datensätze sind nicht das Problem, sondern eher die Anzahl von Änderungen an den Datensätzen und die Struktur der Abfragen ( können Indizes verwendet werden).
halb falsch hablb richtig:
like operationen laufen nur dann nicht über einen index wenn:
1. das feld kein index hat
2. wenn der like suchstring mit einem % beginnt
also wenn das feld nachname ein index hat wird die operation ... nachname like 'Mag%' voll der index angezogen
auch ist der operator UPPER tödlich für den index weil diese in vielen
db's case sensitiv sind. also am besten ein feld machen was per trigger das feld nachname in up_nachname automatisch upper einfügt. dann auf diesem suchen
gruss daniel (m)
ps: ich habe
db's mit interbase mit mehr als 2,3 Mio Datensätze in einer Table. die tel-nummer identifikation ist in 120ms erledigt