Creating the index in one time is one macro-sort operation,
updating the index at every row is doing the operation on and on again.
If you do not understand the difference I recommend you to read some basics
about sorting algorithms,
very interesting read anyway.

Claudio

2012/5/7 Zhangzhigang <zzgang_2...@yahoo.com.cn>

> 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
>



-- 
Claudio

Reply via email to