Solr用于索引一个表VS常规MySQL innoDB表缓冲区

时间:2012-12-24 16:13:21

标签: mysql performance optimization solr

我打算使用Solr搜索一个mysql表,这个表应该有数百万条记录。 我对此表进行了规范化,因此可以通过solr对其进行索引和搜索,以获得更高的性能结果。

这是正确的还是应该用mysql表自己搜索,我的意思是正常选择。

请提供更好的建议,因为它只需要索引和搜索一个表。

谢谢

2 个答案:

答案 0 :(得分:1)

如果您的要求是使用常规SQL SELECT语句“搜索”只有一个MySQL表,那么Apache Solr似乎有点迂回且过度。

使用solr,您需要定期将MySQL表中的数据导入到solr模式中,这实际上意味着您将维护两个数据副本。因此,在MySQL表中更改数据的时间与从数据库刷新solr模式之间也存在延迟。

除此之外,就性能而言,我希望solr能够像MySQL在搜索自己的表时那样快速搜索其架构。但是你真的需要对它进行测试,以便根据你的特定要求做出决定。


您可能希望使用solr“delta import”,指定适当的查询来识别MySQL表中自上次导入后已插入和更新的行。

如果这是MySQL表的唯一用法,那么在MySQL表上真正需要的唯一索引,就solr搜索/导入性能而言,将是那些优化两者性能所需的索引。 “delta import”查询。

答案 1 :(得分:0)

尝试使用第三方搜索服务,例如www.rockitsearch.com。这是一个开箱即用的搜索解决方案。无需担心solr集群的维护。