在mysql中重新编制索引

时间:2012-03-26 04:32:34

标签: mysql indexing

我有一个表已经包含MySQL中的索引。我在表中添加了一些行,是否需要以某种方式重新索引表,还是MySQL会自动为我执行此操作?

3 个答案:

答案 0 :(得分:2)

这将自动完成。这就是为什么有时我们不想创建索引的原因 - 在插入时重建索引部分在性能上有很小但不是空的开销。

答案 1 :(得分:1)

如果您在MySQL中定义索引,那么它将始终反映数据库的当前状态,除非您故意禁用索引。一旦重新启用索引,索引就会更新。由于性能原因,通常仅在大插入期间禁用索引。

您桌面上的每个索引都会产生相关费用。虽然好的索引可以极大地加快检索时间,但是您定义的每个索引都会减少插入量。插入成本随着数据库的大小而缓慢增长。这就是为什么你应该只定义你想要处理大量数据时绝对需要的索引。

如果要查看定义了哪些索引,可以使用SHOW CREATE TABLE查看特定的表。

答案 2 :(得分:1)

不,您不需要重建索引 记录插入将自动影响旧索引..