innodb 的 redo log,不會對未引起資料塊變化的sql做記錄的
下邊的實驗簡單說明上邊的問題:
再做一個簡單的實驗:
mysql> select * from a;
+------+------+
| a | b |
+------+------+
| 10 | 2 |
| 10 | 3 |
| 10 | 101 |
+------+------+
3 rows in set (0.00 sec)
mysql> update a set b = 100;
Query OK, 3 rows affected (0.00 sec)
Rows matched: 3 Changed: 3 Warnings: 0
mysql> update a set b = 100;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 3 Changed: 0 Warnings: 0
mysql> update a set b = 100 where a = 10;
Query OK, 0 rows affected (0.00 sec)
Rows matched: 3 Changed: 0 Warnings: 0
紅色語句是不會產生innodb redo log write I/O的,因為update前後的值相同,更重要的是不會寫innodb redo log的,這樣其實就不受innodb_flush_log_at_trx_commit引數影響,這個透過status 變數Innodb_log_write_requests,Innodb_log_writes沒有變化,和redo log檔案修改時間沒變,得到驗證
中間相同的update語句沒有引起資料塊的變化,Innodb_rows_updated這個狀態變數是不會發生變化。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/82392/viewspace-144704/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- InnoDB文件筆記(二)—— Redo Log筆記
- innodb的redo log以及與binary log的區別
- Layui引起的對前端的一次記錄UI前端
- 4.2.1.6 選擇資料庫並設定 Redo Log 塊的大小資料庫
- 由於目錄變更引起的資料服務無法啟動的問題處理記錄
- slave庫寫redo、binlog不實時丟資料的場景
- logminer工具對redo log或archive log的挖掘Hive
- Redo log 的分享與記憶
- 表的nologging和logging屬性對資料庫redo資料生成的影響資料庫
- glogin.sql配置不當引起sqlplus hang的假象分析SQL
- 為什麼刪除記錄表檔案不會減小?(記錄的插入與刪除在磁碟上的變化)
- 為什麼對資料塊修改的change的scn會小於對undo塊的修改?!
- 會引起排序的sql語句型別!排序SQL型別
- 關於redo log 檔案中記錄的內容問題 ?
- 恢復REDO Log丟失的Oracle資料庫Oracle資料庫
- 主庫新增redo log或刪除redo log,這些資訊不會同步到備庫
- [筆記]RAC上改變redo logfile大小筆記
- Leetcode 記錄 不會解的題LeetCode
- 在做完全恢復時如果有redo存在,則會使用redo而不會使用對應的歸檔
- goldengate 捕捉oracle archive redo log 生成自有格式的trail檔案的大小記錄GoOracleHiveAI
- 介紹一個Oracle10g 資料庫效能最佳化的錄象,對做ERP 的也會有幫助的Oracle資料庫
- 使用binlog2sql做資料恢復的簡單示例SQL資料恢復
- 查出引起等待的sql,並kill該引起等待的sqlSQL
- oracle redo檔案記錄的內容Oracle Redo
- Oracle的redo到底記錄了什麼Oracle
- MySQL的Redo log 以及Bin logMySql
- standby redo log的理解
- console.log列印出的資料竟然不對
- 記錄一個利用資料庫引擎格式化異常sql的思路資料庫SQL
- 為什麼說會不會SQL,決定著你的工資?方向不對,努力也白費!SQL
- 計算節點會對收到的SQL 語句做解析、優化、執行並SQL優化
- redo log file 優化優化
- MySQL中的redo log和undo logMySql
- 記錄一次mybatis log-plugin外掛不列印sqlMyBatisPluginSQL
- 不用SQL做資料視覺化的BI軟體有哪些?SQL視覺化
- Sql Server強制清空所有資料表中的記錄SQLServer
- (轉)老白的理解REDO LOG
- 修改oracle redo log的大小Oracle Redo