【问题标题】:INDEX Creation Optimization索引创建优化
【发布时间】:2015-01-31 01:38:08
【问题描述】:

我有一个包含 30M 行的表和我需要在其中创建 INDEX 的列之一。最快的方法是什么?我考虑过的两个选项是截断表,添加索引,然后将 SQL 重新导入为 csv 文件。另一个是ALTER TABLE 声明。

我应该怎么做才能获得最快的性能?

【问题讨论】:

    标签: mysql sql database-design indexing database-performance


    【解决方案1】:

    最快的方法是使用 ALTER TABLE。如果您截断、更改并重新导入,那么您将不得不等待截断运行,然后在重新导入运行时等待,这将通过构建新索引来添加。仅使用 ALTER,唯一的时间就是构建新索引,因此它会跳过截断和导入时间。

    但是,对于 30M 行,构建索引可能需要一些时间并且可能会超时。如果发生这种情况,您将需要以某种方式增加超时(我不使用 MySQL,所以我无法告诉您如何操作)。如果这不起作用,您可能别无选择,只能执行截断并重新导入路由,希望使用某种批量上传。

    【讨论】:

      猜你喜欢
      • 2018-12-04
      • 1970-01-01
      • 2018-01-05
      • 1970-01-01
      • 1970-01-01
      • 2010-12-01
      • 2013-12-09
      • 2012-02-23
      • 1970-01-01
      相关资源
      最近更新 更多