我正在努力实施"广泛搜索"功能,应该用于搜索数据库中的所有字段。
以下查询的参数全部为"%horse%",我的本地数据库在大约15秒内执行此操作。
当我使用参数"%[^ A-Za-z0-9]马[^ A-Za-z0-9]%"时,制作"马"一个独立的词。查询需要30 +秒。
db包含3000个对象。可以优化查询以在相当长的时间内运行吗?或者我应该考虑像全文索引?
答案 0 :(得分:1)
在WHERE子句中尝试使用此语法(对于所有列)
(tblCollection.CollectionID like '%[^A-Za-z0-9]horse[^A-Za-z0-9]%' escape '\' or
tblCollection.CollectionID like 'horse[^A-Za-z0-9]%' escape '\' or
tblCollection.CollectionID like '[^A-Za-z0-9]horse' escape '\')