【发布时间】:2017-03-11 18:06:02
【问题描述】:
我在 MySQL InnoDB 表的 1M 行中搜索表时遇到一些问题。
在这 1M 行中,有 100k 处于活动状态(可以通过许多参数进行搜索,包括全文和地理搜索)。 MySQL 索引没问题,所以查询运行时间低于 300 毫秒,但我认为它仍然很糟糕。最糟糕的是巨大的偏移量 - 查询可能需要几秒钟。
我正在考虑使用 ElasticSearch。谁能告诉我这对我有好处吗?
在这种情况下,我必须将 MySQL 数据库与 Elastic 同步,但如果值得我尝试一下。
【问题讨论】:
-
要求软件/主机推荐/评论是明确的题外话。
-
如果您使用 GeoPoint 或 GeoShape 在 Elasticsearch 中索引您的数据,您将获得惊人的地理空间搜索性能。
-
@Marc B 我知道,但我不是在搜索软件或托管。如果一种技术可以帮助我解决另一种技术问题,我需要帮助。
-
我认为问题在于如果不了解您的系统当前的工作方式,就很难提出建议。不过,100 万行不应该是 mysql 的问题。也许您可以对您的代码库做一些事情来优化您的数据库调用?
标签: php mysql elasticsearch