日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

大批量插入数据如何优化

發布時間:2025/3/19 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 大批量插入数据如何优化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.對于 MyISAM 類型的表,可以通過以下方式快速的導入大量的數據。

ALTER TABLE tblname DISABLE KEYS; LOAD DATA LOCAL INFILE '/usr/share/dict/words' INTO TABLE source_words(word); ALTER TABLE tblname ENABLE KEYS;

這兩個命令用來打開或者關閉 Myisam 表非唯一索引的更新。在導入大量的數據到一個非空的 MyISAM 表時,通過設置這兩個命令,可以提高導入的效率。對于導入大量數據到一個空的 MyISAM 表,默認就是先導入數據然后才創建索引的,所以不用進行設置。

2. 而對于 InnoDB類型的表,這種方式并不能提高導入數據的效率。對于 InnoDB 類型的表,我們有以下幾種方式可以提高導入的效率:
a. 因為 InnoDB類型的表是按照主鍵的順序保存的,所以將導入的數據按照主鍵的順序排列,可以有效的提高導入數據的效率。如果 InnoDB表沒有主鍵,那么系統會默認創建一個內部列作為主鍵,所以如果可以給表創建一個主鍵,將可以利用這個優勢提高導入數據的效率。
b. 在導入數據前執行

SET UNIQUE_CHECKS=0;

關閉唯一性校驗,在導入結束后執行

SET UNIQUE_CHECKS=1;

恢復唯一性校驗,可以提高導入的效率。
c. 如果應用使用自動提交的方式,建議在導入前執行

SET AUTOCOMMIT=0;

關閉自動提交,導入結束后再執行

SET AUTOCOMMIT=1;

打開自動提交,也可以提高導入的效率。

總結

以上是生活随笔為你收集整理的大批量插入数据如何优化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。