PostgreSQL LIKE-Abfrageleistungsschwankungen
Ich habe ziemlich große Unterschiede in den Antwortzeiten festgestelltLIKE
Abfragen zu einer bestimmten Tabelle in meiner Datenbank. Manchmal erhalte ich Ergebnisse innerhalb von 200-400 ms (sehr akzeptabel), aber manchmal kann es bis zu 30 Sekunden dauern, bis Ergebnisse zurückgegeben werden.
ich verstehe dasLIKE
Abfragen sind sehr ressourcenintensiv, aber ich verstehe einfach nicht, warum es einen so großen Unterschied in den Antwortzeiten geben würde. Ich habe einen Btree - Index für dieowner1
Feld, aber ich glaube nicht, dass es hilftLIKE
Abfragen. Hat jemand irgendwelche Ideen?
Beispiel-SQL:
SELECT gid, owner1 FORM parcels
WHERE owner1 ILIKE '%someones name%' LIMIT 10
Ich habe auch versucht:
SELECT gid, owner1 FROM parcels
WHERE lower(owner1) LIKE lower('%someones name%') LIMIT 10
Und:
SELECT gid, owner1 FROM parcels
WHERE lower(owner1) LIKE lower('someones name%') LIMIT 10
Mit ähnlichen Ergebnissen.
Anzahl der Tabellenzeilen: ca. 95.000.