在我的MySQL数据库中,有一个包含2,000,000条记录的表。现在,我想在此表中再插入600万条新记录。MySQL禁用和启用密钥
要加快插入,我虽然我应该使用禁用/启用键,如下列:
ALTER TABLE cars DISABLE KEYS;
INSERT INTO cars ...
...
...
INSERT INTO cars ...
ALTER TABLE search_all_values ENABLE KEYS;
OPTIMIZE TABLE cars;
但我有点觉得,禁用/启用键会更有意义用于空表插入。
虽然在我的情况下,我已经在表中有2,000,000条记录,当ENABLE KEYS
时,mysql会重新创建所有可能不会产生有效数据插入的索引(包括现有记录和新增记录)整个在我的情况。 作为重建所有的索引将需要很长时间,可能也是如此OPTIMIZE TABLE
我想问问你的意见对我说的对,我怎么能在我的情况下efficent数据插入?
您确定关键更新是瓶颈吗? – abcde123483
这是我的担心,这里有人有同样的担心http://forums.mysql.com/read.php?21,68820,68939#msg-68939 – Mellon
反正,这些索引将被创建,一旦你再次启用它们。尝试做一个Bul插入而不是行/行,并做一个更新统计,看看是否改善任何东西。 – Rahul