johan ....
>Plain and simple: the indices get updated after every insert statement, 
whereas if you only create the index *after* the inserts, the index gets 
created in a single operation, which is a lot more efficient..


Ok, Creating the index *after* the inserts, the index gets created in a single 
operation.
But the indexes has to be updating row by row after the data rows has all been 
inserted. Does it work in this way?
So i can not find the different overhead  about two ways.





________________________________
 发件人: Johan De Meersman <vegiv...@tuxera.be>
收件人: Zhangzhigang <zzgang_2...@yahoo.com.cn> 
抄送: mysql@lists.mysql.com 
发送日期: 2012年5月7日, 星期一, 下午 4:28
主题: Re: Why is creating indexes faster after inserting massive data rows?
 
----- Original Message -----
> From: "Zhangzhigang" <zzgang_2...@yahoo.com.cn>
> 
> Creating indexes after inserting massive data rows is faster than
> before inserting data rows.
> Please tell me why.

Plain and simple: the indices get updated after every insert statement, whereas 
if you only create the index *after* the inserts, the index gets created in a 
single operation, which is a lot more efficient.

I seem to recall that inside of a transaction (thus, InnoDB or so) the 
difference is markedly less; I might be wrong, though.


-- 
Bier met grenadyn
Is als mosterd by den wyn
Sy die't drinkt, is eene kwezel
Hy die't drinkt, is ras een ezel

Reply via email to