解決MySQL刪除和插入資料很慢的問題

2021-10-22 08:50:43 字數 717 閱讀 2732

helm3(k8s 資源物件管理工具)部落格專欄:

公司開發人員在測試環境中執行一條 insert 語句時,需要花費 10 幾秒才可以執行成功。檢視測試環境資料庫效能、資料量、死鎖等資訊,均為發現異常。最後通過修改日誌寫入方式解決此問題。

1. 修改辦法

修改/etc/my.cnf檔案,將 innodb_flush_log_at_trx_commit = 1改為0, 但這樣就要承擔資料庫crash後,1秒內未儲存到資料庫資料丟失可能的風險。mysql文件中對該引數的描述如下:

2. 引數說明

3. 注意事項

當設定為0時,該模式速度最快,但不太安全,mysqld程序的崩潰會導致上一秒鐘所有事務資料的丟失。

當設定為1時,該模式是最安全的,但也是最慢的一種方式。在mysqld 服務崩潰或者伺服器主機crash的情況下,binary log 只有可能丟失最多乙個語句或者乙個事務。

當設定為2時,該模式速度較快,也比0安全,只有在作業系統崩潰或者系統斷電的情況下,上一秒鐘所有事務資料才可能丟失。

innodb_flush_log_at_trx_commit和sync_binlog 兩個引數是控制mysql 磁碟寫入策略以及資料安全性的關鍵引數,當兩個引數都設定為1的時候寫入效能最差,推薦做法是innodb_flush_log_at_trx_commit=2,sync_binlog=500 或1000。

mysql 插入,刪除

字段型別 插入數值 對資料庫表記錄進行操作 修改 插入值 insert into 表名 列名1,列名2,列名3 values v1 v2 v3 insert into values v1 v2 v3 select from 表名 兩種插入值方式和一種檢視方式 修改表記錄 update 表名 set ...

插入 刪除和更新資料

定義乙個需要訪問的資料庫的資訊 string strcon server pc 20161029wdcv sql2014 database studentdb trusted connection true sqlconnection con new sqlconnection strcon con...

MySQL資料插入 修改 刪除

insert 語句的定義 insert用於向乙個已有的表中插入新行。insert values語句根據明確指定的值插入行。讓我們先來看一下insert語句標準的定義,放在內的都是可以省略的 insert low priority delayed high priority ignore into t...