我在MySQL InnoDB表中以1M行搜索表格时遇到的问题很少。
从这些1M行中,100k是活动的(可以通过许多参数搜索,包括全文和地理搜索)。 MySQL索引没问题,因此查询运行时间不超过300毫秒,但我认为它仍然很糟糕。最糟糕的是偏差 - 查询可能需要几秒钟。
我正在考虑使用ElasticSearch。有人能告诉我它对我有用吗?
在这种情况下,我必须将MySQL数据库与Elastic同步,但如果它值得,我会尝试。
答案 0 :(得分:2)
elasticsearch是您提高搜索性能和避免偏移所需的解决方案。
elasticsearch用于执行全文和地理位置搜索,而MySQL则用于存储数据。
根据您使用的框架,您可以轻松地将数据从MySQL推送到elasticsearch http://blog.randywallace.com/blog/2013/08/27/pulling-a-large-mysql-table-into-elasticsearch/。