为数据库中的多个表创建的索引。在一段时间内,几张桌子的记录增加了,而且几张桌子有数百万张记录。但最初它有数百个记录。因此,如果记录数量增加,如何提高性能。 1)我们是否需要将表从旧索引移动到新创建的索引 要么 2)增加现有索引的节点和分片,从而提高性能。
所以我正在寻找更好的解决方案,如果我的要求不明确,请告诉我。
请有人回答。
答案 0 :(得分:0)
听起来你应该考虑使用基于时间序列的索引,所以 你会为每一天或每月(或任何时间段)创建一个索引 想要)然后你可以使用像这样的工具 curator来管理它们。这样你就有了 如何处理旧索引更灵活,比如关闭它们,删除 它们,或使用优化API强制合并它们。
答案 1 :(得分:0)
如果您已经遇到性能问题,那就更难了。由于在索引创建时修改了分片数,因此您必须将数据重新索引到具有更多分片的新索引。
如果您有无限增长的表(例如日志),请提前计划基于时间的索引。如果您的数据不是基于时间的,那么您可以执行相同的操作。使用模板自动创建索引和别名,以便您可以查询它们作为一个索引。
这里没有黄金法则,但是一旦你知道你的索引如何针对1M记录的用例进行扩展,你就可以通过主存储器(db)中的id进行一些自动索引。所有你需要做的就是,当索引选择要写入的正确索引时(因为你不能使用别名进行索引),查询通过别名是透明的。对于大多数应用来说,这是一个小改动。