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