我有以下MySQL表字段:
description1
,description2
,description3
:Varchar(500)
value
:int
并希望找到其中至少有一个描述包含用户搜索的string
的记录。
现在我正在使用以下查询。它有效,但返回结果大约需要1.5秒。
SELECT `table`.`value`,
`table`.`description1`,
`table`.`description2`,
`table`.`description3`
FROM `table`
WHERE ( `table`.`description1` LIKE '%string%'
OR `table`.`description2` LIKE '%string%'
OR `table`.`description3` LIKE '%string%' )
ORDER BY `table`.`value` DESC LIMIT 0 , 9
有没有办法让结果更快?
(请注意,value
字段已编入索引。)
答案 0 :(得分:1)
添加全文索引,而不是像使用AGAINST