繁体   English   中英

如何提高搜索提示的速度?

[英]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条记录。

但是最后,速度几乎难以忍受,我不得不等待很长时间才能看到建议的单词突然出现。 您对如何加快速度有任何建议吗?

我推荐的是o使用mysql 全文搜索

你可以在网上查找教程。

一篇好文章:

http://devzone.zend.com/article/1304

如果您在该列上有索引,则以“%”结尾的类似查询应该很快。 这确实是使用索引的最佳方式。 但是,如果在搜索开始时添加“%”,则将有效地降低所有索引速度(并且您将必须使用全文搜索,这也将防止大小写问题)

您还应该检查查询的安全性,我们都希望您在使用前对$ 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM