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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

delete语句与reference约束冲突怎么解决_mysql update语句和原数据一样会更新么

發(fā)布時(shí)間:2025/4/5 数据库 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 delete语句与reference约束冲突怎么解决_mysql update语句和原数据一样会更新么 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

?戳藍(lán)字「TopCoder」關(guān)注我們哦!

平常使用 mysql ,必不可少的會用到 update 語句,不知道小伙伴有沒有這樣的疑問?

如果 update 語句和原數(shù)據(jù)一樣會更新么?更具體的來說,如果更新的數(shù)據(jù)前后是一樣的,MySQL 會更新存儲引擎中(磁盤)數(shù)據(jù)么?

關(guān)于這個問題,在分析之前我們可以思考下:update語句和原數(shù)據(jù)一樣,有必要更新么?理論上來講是沒有必要的。MySQL Server 層在執(zhí)行 sql 時(shí),其實(shí)是不知道是否是一樣的,因此可以猜想,如果 MySQL 已經(jīng)知道原數(shù)據(jù)的話,這樣可以和 update 語句做對比,這樣一樣的話可以不用更新了。

那么 MySQL 在執(zhí)行update 語句時(shí),什么時(shí)候會讀取原數(shù)據(jù)呢?這就涉及到 binlog 的數(shù)據(jù)格式,binlog 數(shù)據(jù)格式相關(guān)配置項(xiàng)為binlog_format,該配置取值范圍如下:

  • statement:邏輯SQL格式,通過mysqlbinlog工具可進(jìn)行查看,就是sql語句;

  • row:記錄的是行更改日志,對于statement格式binlog復(fù)制潛在的問題可通過row來解決;

  • mixed:默認(rèn)使用statement格式,某些操作下使用row格式,比如uuid/now/user等不確定函數(shù)。

注意:在msyql 5.1版本之前默認(rèn)都是基于sql語句(statement)級別的,statement格式的binlog會造成某些操作在主從復(fù)制時(shí)出現(xiàn)問題,比如now/rand/uuid等。

row 格式的 binlog 會記錄鏡像數(shù)據(jù),針對 update 來說,必須是前鏡像數(shù)據(jù)才能判斷出來update 語句是否和原數(shù)據(jù)一樣。針對 row 格式的鏡像數(shù)據(jù)配置,由配置項(xiàng)binlog_row_image來決定(該配置只在 row 模式下才起作用),該配置項(xiàng)官方文檔如下:

  • full: Log all columns in both the before image and the after image.

  • minimal: Log only those columns in the before image that are required to identify the row to be changed; log only those columns in the after image where a value was specified by the SQL statement, or generated by auto-increment.

  • noblob: Log all columns (same as full), except for BLOB and TEXT columns that are not required to identify rows, or that have not changed.

  • 簡單來說,full會記錄所有列,noblob會記錄除blob和text外的所有列,minimal只會記錄需要的列。對于insert 來說,只有后鏡像沒有前鏡像;對于update來說,有前鏡像和后鏡像;對于delete來說,只有前鏡像沒有后鏡像。對于 full 和 noblob 沒有什么好說的,對于minimal來說,insert 記錄所有列后鏡像,update 和 delete的話要分為幾種情況:

    • 當(dāng)存在主鍵索引或者唯一索引時(shí),update記錄主鍵列前鏡像和更新列后鏡像,delete 記錄主鍵列前鏡像。

    • 只有普通二級索引時(shí),update 記錄所有列前鏡像和更新列后鏡像,delete 記錄所有列前鏡像。

    針對minimal的binlog_row_image為什么要這么設(shè)計(jì)呢?有主鍵或者唯一鍵的話,可以通過其定位到唯一一條記錄,因此沒有必要記錄整個列的鏡像數(shù)據(jù)了,在只有二級索引或者其他情況下,只能記錄整個列的鏡像數(shù)據(jù)。

    那么日常開發(fā)中,應(yīng)該怎么配置binlog_row_image呢?建議配置成 full 模式,因?yàn)檫@樣可以以空間換取更多的數(shù)據(jù)保證,可以避免binlog 的閃回功能。

    回到最初提到的問題,可以知道,在binlog_format=row時(shí),由于MySQL 需要在 binlog 里面記錄數(shù)據(jù)對應(yīng)字段,因此會進(jìn)行數(shù)據(jù)的讀取操作,此時(shí)就可以進(jìn)行數(shù)據(jù)對比,重復(fù)數(shù)據(jù)的update不會執(zhí)行。具體驗(yàn)證可以通過以下幾個命令:

    show?master?status\G
    set??binlog_format?='row';?//?statement
    show?variables?like?'binlog_format';
    update?xxx

    針對 uddate 語句和原數(shù)據(jù)一樣時(shí)可能不會進(jìn)行更新操作,因此該場景下返回的影響行數(shù)可能為0。

    ?推薦閱讀?

    • CompletableFuture 應(yīng)用實(shí)踐

    • Java線程池實(shí)現(xiàn)原理

    • 深入理解Java線程池

    • JMM Java內(nèi)存模型

    • happens-before那些事兒

    • 為什么說LockSupport是Java并發(fā)的基石?

    總結(jié)

    以上是生活随笔為你收集整理的delete语句与reference约束冲突怎么解决_mysql update语句和原数据一样会更新么的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 国产精品xxx在线观看 | 视色网| 欧美日韩午夜爽爽 | а√中文在线资源库 | 国产日韩欧美视频 | 亚洲精品免费在线视频 | 人妻一区二区三区免费 | 人妻丰满熟妇av无码久久洗澡 | 精品久久久久久久久久久久久 | 日本一级吃奶淫片免费 | 成人欧美在线观看 | h视频网站在线观看 | 成人不卡 | 99精品欧美一区二区蜜桃免费 | 天天做天天爱夜夜爽 | 欧美高清在线一区 | 最新不卡av | 免费播放片大片 | 视频福利在线观看 | 日韩欧美一二三 | 亚洲在线一区二区 | 宅男午夜在线 | 少妇做爰免费理伦电影 | 91精品国产91久久久久久吃药 | www.黄色一片 | 午夜爽爽爽 | 懂色tv | 国产15页| 免费在线观看中文字幕 | 日韩高清一级片 | 日本少妇吞精囗交视频 | www.五月婷| 美女毛片网站 | 免费观看在线播放 | 中文字幕精品三区 | 欧美性生交大片免费看app麻豆 | 超碰综合在线 | 日本成人一级片 | 北岛玲一区二区 | 成年人网站黄 | 无码精品一区二区三区AV | 精品在线视频一区二区三区 | 看黄色网址 | 国产精品一区一区三区 | 精品国产丝袜一区二区三区乱码 | 女人裸体无遮挡 | 老熟妇仑乱一区二区av | 日本白嫩的bbw | 国产精品二区三区 | 日韩黄大片| 日韩一区二区三区免费在线观看 | 成人在线网址 | 日本不卡一区二区在线观看 | 爱的色放在线 | 麻豆视频免费版 | 日韩第六页| 色狠狠av | 91传媒入口 | 大黑人交交护士xxxxhd | 高h全肉污文play带道具 | 日日夜夜狠狠爱 | 久久久婷婷 | 久久久天堂国产精品女人 | 国产日韩成人内射视频 | 欧美三级韩国三级日本三斤 | 色网站在线免费观看 | 欧美夫妻性生活视频 | 青青青国产 | 日韩视频网 | 成人午夜又粗又硬又大 | 亚洲在线观看av | 亚洲欧美一区二区三 | 国产又黄又嫩又滑又白 | 玖玖爱av| 亚洲精品a区 | 日韩性高潮 | 超碰视屏| 国产高潮流白浆喷水视频 | 一区二区三区视频免费在线观看 | 宅宅少妇无码 | 99热这里只| 欧美一区二区三区免 | 欧洲精品无码一区二区 | 后进极品白嫩翘臀在线视频 | 国产在线久 | 日韩免费网站 | 欧美xxxxx高潮喷水麻豆 | 一区二区三区视频在线观看免费 | 麻豆影视在线观看 | 国产成人精品久久二区二区91 | 污污小说在线观看 | 三级性生活片 | 打美女白嫩屁屁网站 | 67194在线免费观看 | 久久日精品 | 亚洲激情小视频 | av网站在线免费播放 | 久久久www成人免费无遮挡大片 | jizz日本免费 |