我们的mysql数据库中有50个表。查询很耗时,因为许多表都有超过15K条记录。
我知道添加索引会提高查询性能,我的问题是,在现有表上添加索引会对现有用户造成伤害吗?
请分享你的想法。
谢谢。
发布于 2010-06-26 05:10:59
它不会对现有用户造成任何伤害。尽管如sAc所说,更新(以及添加和删除)会更慢,因为在执行这些操作时必须更新索引。注意:将索引添加到一个巨大的表中可能会使其在一段时间内不可用,因此如果您的网站(或应用程序)依赖于DB,则在更新期间它将不可用。您可以使用如下代码(伪代码)来防止阻塞:
创建类似my_table的表临时;
更新记录器以登录临时;
alter table my_table添加索引new_index;
insert into my_table select * from temp
更新记录器以登录my_table;
删除表temp
https://stackoverflow.com/questions/3121422
复制相似问题