国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術(shù)文章
文章詳情頁

實例驗證MySQL|update字段為相同的值是否會記錄binlog

瀏覽:36日期:2023-10-10 10:20:23

一 前言

前幾天一個開發(fā)同事咨詢我,update 更新字段為相同的值是否會記錄binlog,我回復(fù)說不會。

其實 嚴格的說這個答案是不準確的,說要區(qū)分場景。是否記錄 update 語句到binlog依賴于 binlog_format 的設(shè)置。具體情況 實踐出真知。

二 測試

2.1 binlog_format 為 ROW 模式

實例驗證MySQL|update字段為相同的值是否會記錄binlog

2.2 binlog_format 為 STATEMENT 模式

實例驗證MySQL|update字段為相同的值是否會記錄binlog

解析binlog內(nèi)容,完整的記錄了update語句。

實例驗證MySQL|update字段為相同的值是否會記錄binlog

2.2 binlog_format 為 MIXED 模式

實例驗證MySQL|update字段為相同的值是否會記錄binlog

當 row_format 為mixed或者statement格式是,binlog 的大小發(fā)生改變,不管是否真的更新數(shù)據(jù),MySQL都記錄執(zhí)行的sql 到binlog。

三 小結(jié)

基于row模式時,server層匹配到要更新的記錄,發(fā)現(xiàn)新值和舊值一致,不做更新,就直接返回,也不記錄binlog。

基于 statement 或者 mixed格式,MySQL執(zhí)行 update 語句,并把更新語句記錄到binlog。

那為什么問題來了 statement 和 mixed 會完整的記錄sql語句呢?且聽下回分解吧,因為我要解析源碼,使用Clion 編譯MySQL 調(diào)試環(huán)境還沒成功。

以上就是實例驗證MySQL|update字段為相同的值是否會記錄binlog的詳細內(nèi)容,更多關(guān)于MySQL update字段的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

相關(guān)文章:
主站蜘蛛池模板: 汕尾市| 伊春市| 辰溪县| 渝北区| 当雄县| 上饶县| 绿春县| 施秉县| 孟村| 青冈县| 定州市| 临颍县| 德清县| 赤城县| 中超| 寿光市| 南宁市| 黄山市| 延长县| 茌平县| 谷城县| 叶城县| 汝阳县| 古蔺县| 原平市| 新泰市| 柳州市| 沐川县| 珠海市| 馆陶县| 乌审旗| 买车| 阳原县| 中卫市| 陕西省| 高密市| 灵丘县| 永靖县| 土默特左旗| 喀什市| 吕梁市|