我想寫使用「喜歡」一個有效的查詢語句來一段文字與短文一列之後的樣子。
型號:
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 }
指標:EVENTSGENERAL.GENERATOR
,EVENTSGENERAL.DATETIME
,EVENTSINFOTYPES.INFOTYPE
所有提升。
我的查詢:
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%'
問題:
這個查詢將在超大數據庫上運行。有什麼辦法可以改善它嗎? 我正在使用Firebird數據庫。
在此先感謝。
如果我使用「LIKE%」,而不是什麼會改變?會更快嗎? –
如果您的意思是LIKE'VALUE%',那麼您應該可以將VALUE編入索引以獲得一些性能提升。您可以嘗試創建索引,然後執行Filebird的「解釋計劃」。 –
編輯爲在查詢速度中包含'LIKE'VALUE%''效果。 –