too nice not to share it!

http://www.youtube.com/watch?v=INHF_5RIxTE



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

> Thanks, i thought about this answer in the past, and i appreciate your
> reply.
>
>
>
> ________________________________
>  发件人: Alex Schaft <al...@quicksoftware.co.za>
> 收件人: mysql@lists.mysql.com
> 发送日期: 2012年5月7日, 星期一, 下午 4:59
> 主题: Re: 回复: Why is creating indexes faster after inserting massive data
> rows?
>
> On 2012/05/07 10:53, Zhangzhigang wrote:
> > 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.
> My simplified 2c. When inserting rows with active indexes one by one
> (insert), mysql has to
>
> 1) lock the space for the data to be added,
> 2) write the data,
> 3) lock the index,
> 4) write the index key(s),
> 5) unlock the index,
> 6)unlock the data
>
> This happens for each row
>
> When first doing all data without index, only 1, 2, and 6 happen. When you
> then create an index, it can lock the index, read all the data and write
> all index keys in one go and then unlock the index.
>
> If you make an omelet, do you fetch your eggs from the fridge one by one,
> or all at the same time? :)
>
> HTH,
> Alex
>
>
> -- MySQL General Mailing List
> For list archives: http://lists.mysql.com/mysql
> To unsubscribe:    http://lists.mysql.com/mysql
>



-- 
Claudio

Reply via email to