我正在通过一个文本框运行实时搜索,当用户键入时,它会从 mysql 数据库返回匹配的行。问题是这是该网站的主要功能之一,并且确实增加了我的 mysql 数据库的内存负载。因为每次击键都会向 php 脚本发送一个请求来查询数据库。
我让 php 忽略任何长度小于 3 个字符的搜索词,但除此之外我还能做什么?
这里有一些选项: Live search optimisation in Javascript
但是我想知道我是否应该从缓存的 xml 表中提取数据,或者是否有某种方法可以缓存 mysql 本身。
Google 或其他一些严重依赖此功能的大型网站会做什么?
最佳答案
使用索引引擎为您的数据建立索引并加快搜索结果的速度。 喜欢:http://sphinxsearch.com/或http://lucene.apache.org/core/
设置 cron 作业来索引数据,有 sphinx 的 PHP API 和 Zend Framework 模块。如果使用得当,索引速度会带来很多好处。
关于php - mysql从javascript实时搜索加载内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9382755/