[英]how could I increase the speed of my search suggest?
我为我的网站添加了一个搜索建议,就像Google建议一样,但是速度有点慢...我这样做是这样的:当用户在搜索栏中输入内容时,我使用Ajax将关键字传递给php文件,它使用以下语句在数据库(MySql)中搜索关键字:
SELECT DISTINCT keywords
FROM `searchrecord`
WHERE keywords LIKE '$keywords%'
表“ searchrecord”具有约500,000条记录。
但是最后,速度几乎难以忍受,我不得不等待很长时间才能看到建议的单词突然出现。 您对如何加快速度有任何建议吗?
如果您在该列上有索引,则以“%”结尾的类似查询应该很快。 这确实是使用索引的最佳方式。 但是,如果在搜索开始时添加“%”,则将有效地降低所有索引速度(并且您将必须使用全文搜索,这也将防止大小写问题)
您还应该检查查询的安全性,我们都希望您在使用前对$ keywords变量进行过清理。
如果关键字是关键字列表,则查询应为:
WHERE keyword IN ('key1','key2','key3')
要么:
WHERE keyword LIKE 'key1%' OR keyword LIKE 'key2%' OR keyword LIKE 'key3%'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.