作/譯者:葉金榮(Email:

),來源:http://imysql.cn,轉載請注明作/譯者和出處,并且不能用于商業用途,違者必究。
對MySQL的使用者而言,備受诟病的一個問題就是導入SQL備份檔案時不能并發,使得導入的效率很低。
今天,我們就來改變下思路,嘗試一下并發導入的方法,供大家參考。
1、問題分析
想要實作并發導入,其實沒那麼難,最簡單的思路就是:将完整的檔案切分成多份,然後并發導入即可。
在這裡,我自己的做法是這樣的:
上述方法中,如果資料表是 MyISAM 表,則并發導入沒有問題,但如果是 InnoDB 表,則會有表級鎖 AUOT-INC 導緻并發效率不高的麻煩,盡管如此,那也比單個檔案串行導入來的快一些。想要避免這個麻煩,就得采用 MySQL 5.1 版本了,因為在 5.1 中,改進了 AUTO-INC 的處理方式,規避了表級鎖,很大程度提高了并發效率。
2、實際測試
事先設定:最大并大導入線程是16個。
2.1 MySQL 5.0.67 版本
2.2 MySQL 5.1版本
更加詳細的測試就不再做了。
3、小結
從上面的測試結果可以看到,MySQL 5.1在AUTO-INC鎖方面的改進還是非常大的,對于想要提升并發性能,同時應用相對不是太複雜,并且不擔心會碰到bug的童鞋可以多多嘗試下。
由于衆所周知的緣故,相關的腳本就不釋出了,有需要的童鞋請加入MSN群讨論。
本文出自 “MySQL中文網”部落格 http://www.imysql.cn/