disable keys的问题

MYisam表,加载数据。书上有资料说可以用
alter table tbname disable kes;
加载数据;
alter table tbname enable keys; 
可以提高加载速度。
上面的keys都不是普通索引,不是primary key 和unique key。

表数据1000W,在有索引的时候,我load 10W条数据,耗时 5s,
按照上面的方法:
加载进去只消耗了0.38s,但是在enable keys的时候花了7分钟,

问:这种方法提高了效率,为什么整个过程时间花的更久?在enable的时候查看到的线程状态是:Repair with keycache。

用这方法加载数据得到一个无碎片,紧凑的索引,而直接在有索引的表中load data的话,是不是索引会出现碎片?要是真出现索引碎片的话,我用optimize table也只需要30秒,根本不会超过1分钟。所以我觉得虽然disable kyes 可以提高索引,但是开启索引的话,消耗大时间不能忍受。。

大家都采用什么方法来提高load data 呢?

作者: mr_mablevi   发布时间: 2011-05-23

上面的keys都是普通索引,不是primary key 和unique key

作者: mr_mablevi   发布时间: 2011-05-23