我在使用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/

10-12 16:44