隨著MySQL的應用日益廣泛,支持事務特性的InnoDB已經成為MySQL的默認存儲引擎。和很多關系數據庫不同的是,在InnoDB存儲引擎中,事務默認是自動提交的,也就是說每條DML語句都會觸發commit操作。這一自動提交(autocommit)特性在很多場景下對于性能還是有一定影響的。
最近我們嘗試將一個Oracle數據庫的數據遷移到MySQL數據庫,發現導入時間很長。舉個例子來說,其中有一個表包含四千多條數據,插入時間竟然超過了100秒。每插入一條數據,數據庫就會自動提交一次,也就是說單這一個表MySQL會commit超過4000次,如果我們關閉自動提交功能,通過程序來控制,只要一次commit就可以了。
那么,如何關閉MySQL的autocommit特性呢?
通常有兩種方法:
- 一種是通過set命令修改會話級別或者數據庫級別的參數,但是數據庫重啟后參數會恢復默認值;
- 第二種方法是修改mysql的配置文件my.ini,一勞永逸。
1.測試環境 Windows Server 2008 r2+MySQL Community Server (GPL) 5.7.16
我是在Windows Server 2008 r2環境下進行測試。
點擊(此處)折疊或打開
![](/upload/ad_content/xuanchuantu-24.jpg)
目前
成都創新互聯公司已為超過千家的企業提供了網站建設、域名、虛擬空間、
網站托管運營、企業網站設計、
延慶網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協力一起成長,共同發展。
網站名稱:Windows下關閉MySQL的自動提交(autocommit)功能-創新互聯
文章路徑:http://vcdvsql.cn/article22/cssijc.html
成都網站建設公司_創新互聯,為您提供營銷型網站建設、網頁設計公司、App開發、云服務器、商城網站、App設計
廣告
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源:
創新互聯