向生产数据库添加索引的过程

时间:2012-06-18 17:54:19

标签: mysql sql

假设我有一个包含1M行的表,我需要在其上添加索引。这样做的过程是什么?我能直接在生产中做ALTER TABLE table ADD INDEX column (column)吗?或者我是否需要考虑其他因素来添加索引。

通常如何在实时生产数据库中添加索引?

2 个答案:

答案 0 :(得分:2)

就个人而言,我会等到事情安静,但你不必让数据库脱机。用户可能会看到延迟,但不应该超时。 (如果确实如此,则其他错误。)

请注意,添加索引不会使dbms复制整个表(因为添加列可能)。

答案 1 :(得分:2)

首先应该尝试在类似的负载条件下在测试数据库上添加相同的索引,并检查它是否会导致问题。通过创建索引可能会锁定表一段时间并导致其他查询失败。

一百万行是一张大表,但它并不大。您可能会发现添加索引的速度相当快。除非您有实时约束,否则不太可能导致严重问题。首先,它绝对值得测试。