我想写使用“喜欢”一个有效的查询语句来一段文字与短文一列之后的样子。
型号:
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%''效果。 –