Die Verbesserung von "% LIKE % " - Abfrage auf Firebird-Datenbank

Situation:

Ich bin versucht zu schreiben, eine effiziente Abfrage mit "LIKE" - Anweisung, um sich nach einem Stück text in eine Spalte mit kurzen Texten.

Modell:

Table 'EVENTSGENERAL' : { ID (KEY), GENERATOR_ (FK), DATETIME, COMPUTERNAME, OSLOGIN, DBLOGIN, INFOTYPE, INFO }

Table 'EVENTSGENERATORS' : { ID (KEY), GENERATOR_ (FK), SHORTNAME, LONGNAME }

Table 'EVENTSINFOTYPES'  : { ID (KEY), GENERATOR_ (FK), VERSION_, INFOTYPE, DESCRIPTION }

Indizes : EVENTSGENERAL.GENERATOR, EVENTSGENERAL.DATETIME, EVENTSINFOTYPES.INFOTYPE
Alle Aufsteigend.

Meine Abfrage:

SELECT FIRST @first SKIP @skip A.ID,B.LONGNAME,  A.DATETIME, A.COMPUTERNAME,A.OSLOGIN, A.DBLOGIN, C.DESCRIPTION, A.INFO
FROM EVENTSGENERAL A JOIN EVENTSGENERATORS B ON B.GENERATOR_ = A.GENERATOR_
JOIN EVENTSINFOTYPES C ON C.GENERATOR_ = A.GENERATOR_ AND C.INFOTYPE = A.INFOTYPE
WHERE C.DESCRIPTION LIKE '%VALUE%'

Problem:

Diese Abfrage ausführen, die auf extra-großen Datenbanken. Gibt es eine Möglichkeit, kann ich es verbessern ?
Ich bin mit einer Firebird-Datenbank.

Vielen Dank im Voraus.

InformationsquelleAutor Marcello Grechi Lins | 2012-01-25

Schreibe einen Kommentar