php mysql搜索数据的最佳方式,单个查询与多个查询

时间:2012-12-10 20:45:05

标签: php mysql

我对php和mysql有很好的了解,但是我的练习较少。在我用搜索,ajax类型的建议等建立网站之前,他们都缺乏一些能力。

现在我要创建一个搜索我的网站,该网站有大约10个具有不同字段名称的表。我花了一些时间搞清楚调用mysql查询的方法。所以我寻求一些建议和帮助。

如果我选择一些类似于某些字符串的数据,那么我必须创建一个表的顺序,首先搜索哪个表,哪个表应该是第二个,依此类推。这就是我提出这个问题的主要原因。在不同的表上手动运行多个mysql搜索查询并尝试处理数据中的数据是否等于其他表搜索形成的数组的结构,这不是一个糟糕的方法吗?我的意思是,如果文章页面中有更多相似之处,我为什么要首先搜索新闻?

后来我想到了一个适合所有表的单个mysql查询,但是我无法弄清楚如何提出这样的代码,它将为布局返回一个数组并包含有关所需搜索查询的所有内容。

请告诉我您认为可能对我有帮助的任何高级技巧或做法。感谢。

4 个答案:

答案 0 :(得分:2)

搜索很多表并不是一个好主意。有一个索引要好得多。索引可以是单个结构化数据库表或外部引擎,如sphinx或lucene。

答案 1 :(得分:1)

提示:使用主要用于搜索的多个表中的所需数据创建View

答案 2 :(得分:1)

尝试搜索solr(http://lucene.apache.org/solr/),memcache(http://memcached.org/)或使用mysql索引。阅读以上链接并选择最合适的链接

答案 3 :(得分:1)

如果您的搜索文本分布在这么多表中,您应该使用一些单独的搜索索引。

您可以使用现成的lib来执行此操作,例如Apache Solr