我有一个表已经包含MySQL中的索引。我在表中添加了一些行,是否需要以某种方式重新索引表,还是MySQL会自动为我执行此操作?
答案 0 :(得分:2)
这将自动完成。这就是为什么有时我们不想创建索引的原因 - 在插入时重建索引部分在性能上有很小但不是空的开销。
答案 1 :(得分:1)
如果您在MySQL中定义索引,那么它将始终反映数据库的当前状态,除非您故意禁用索引。一旦重新启用索引,索引就会更新。由于性能原因,通常仅在大插入期间禁用索引。
您桌面上的每个索引都会产生相关费用。虽然好的索引可以极大地加快检索时间,但是您定义的每个索引都会减少插入量。插入成本随着数据库的大小而缓慢增长。这就是为什么你应该只定义你想要处理大量数据时绝对需要的索引。
如果要查看定义了哪些索引,可以使用SHOW CREATE TABLE
查看特定的表。
答案 2 :(得分:1)
不,您不需要重建索引 记录插入将自动影响旧索引..