我们的mysql数据库中有50个表。查询花费时间,因为许多表都有超过15K的记录。
我知道添加索引可以提高查询性能,我的查询是,在现有表上添加索引会对现有用户造成任何伤害吗?
请分享您的想法。
感谢。
答案 0 :(得分:1)
它不会对现有用户造成任何伤害。虽然像sAc所说的那样,更新(以及添加和删除)会更慢,因为在执行这些操作时必须更新索引。 注意:在巨大的表中添加索引会使其在所需的时间内无法使用,因此如果您的网站(或应用程序)依赖于数据库,则在更新期间它将无法使用。 你可以用这样的东西阻止阻塞(伪代码):
创建表格temp,如my_table;
更新记录器以登录temp;
alter table my_table add index new_index;
从temp;
插入my_table select *更新记录器以登录my_table;
drop table temp