我在使用MySQL,我有一个转储文件,它的内容如下
TRUNCATE TABLE cars;
ALTER TABLE cars DISABLE KEYS;
INSERT INTO cars ... ;
ALTER TABLE cars ENABLE KEYS;
OPTIMIZE TABLE cars
我想知道下面的语句(来自上面的转储)分别在做什么:
一
ALTER TABLE cars DISABLE KEYS;
二
ALTER TABLE cars ENABLE KEYS;
三。
OPTIMIZE TABLE cars
最佳答案
DISABLE KEYS
告诉mySQL在插入时不要更新索引。ENABLE KEYS
告诉它重新创建索引,然后再次开始更新索引。最后OPTIMIZE做了很多事情,包括更新统计数据和排序索引页。这在大型插入/更新/删除之后非常重要。
上面的代码通常用于批量插入/更新。禁用索引有助于执行大型插入/更新/删除操作。
关于mysql - 新手:一些SQL语句的含义,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7983481/