我在Rails中使用thinking_sphinx。据我所知,Sphinx用于全文搜索。假设我有以下查询:
keyword
country
sort order我使用Sphinx来完成上面的所有搜索。然而,当我在没有keyword的情况下查询,而只使用country和sort order时,在MySQL中使用普通查询比使用Sphinx更好吗?
换句话说,是否应该仅在搜索keyword时使用Sphinx?
查看整体性能和速度。
发布于 2012-05-13 06:00:18
基准测试!基准测试!基准测试!
你自己测试一下吧。确切的性能取决于确切的数据,甚至可能取决于您的sphinx和mysql服务器的相对性能。
发布于 2012-05-16 00:00:51
这听起来并不尖酸,但是性能真的很重要吗?
如果您正在构建一个仅供组织内少数用户使用的应用程序,那么您可能会忽略使用一种方法而不是另一种方法的性能优势,而是专注于代码的简单性。
另一方面,如果你的应用程序被interwebz上的大量用户访问,并且你真的需要关注性能,那么你应该遵循上面的@barryhunter的建议和基准测试来确定在给定环境下的最佳方法。
附言:在你需要优化之前,不要优化。全心全意地努力让代码远离你的代码。
发布于 2012-05-15 18:55:57
在使用文本字符串进行搜索时,Sphinx将提供比MySQL更快的速度,而在使用数字键进行搜索时,MySQL可能会更快。
因此,假设"country“和"sort order”都可以使用MySQL中的数字索引进行索引,那么最好只将Sphinx与“MySQL”一起使用,并将其用于其他两个关键字的普通查询。
然而,正如barryhunter建议的那样,基准测试不会有什么坏处。)
https://stackoverflow.com/questions/10563413
复制相似问题