jQuery UI自动完成:搜索未链接的2个巨大的MySQL表

时间:2019-04-08 07:17:16

标签: php mysql jquery-ui jquery-ui-autocomplete

我的网站引用了20.000不同作者的10万多篇文章。我想在两个表中(文章标题或作者姓名)进行jQuery UI自动完成搜索。

这两个表基本上是:

  

表格文章

     
      
  • 标题(例如:这是标题)
  •   
  • sl(例如:这是标题)
  •   
     

表格作者

     
      
  • 姓名(例如:John Doe)
  •   
  • sl(例如:john-doe)
  •   

应该检索段信息,因为搜索栏将根据搜索结果重定向到 article.php author.php

我担心的是,像这样解析这两个表需要很长时间,超过30秒:

SELECT title, ar.slug, name, au.slug
FROM articles ar,author au
WHERE published = 1
AND (title LIKE :term OR name LIKE :term)

该列已被索引。

有没有更好的方法? 感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

查询速度如此之慢的原因是,您对JOIN没有任何条件,因此可能得到的结果集为100,000 * 20,000,即必须由{{1}过滤的2B行}子句。由于此查询的表之间不需要任何类型的关系,因此最好使用WHERE,并添加一个字段来区分UNIONauthor:< / p>

title