站長資訊網
        最全最豐富的資訊網站

        你知道MySQL innodb自增ID BUG有多大影響嗎?

        這些年的 MySQL 都白用了。。。你知道MySQL innodb 自增ID BUG 影響現有 99% 的系統嗎。。。

        你知道MySQL innodb自增ID BUG有多大影響嗎?

        程序員必備接口測試調試工具:立即使用
        Apipost = Postman + Swagger + Mock + Jmeter
        Api設計、調試、文檔、自動化測試工具
        后端、前端、測試,同時在線協作,內容實時同步

        首先我們來復現一下這個神奇的問題:

        創建一個測試表,有個自增ID,然后插入 3 條數據,刪除 id = 3 的那條。

        DROP TABLE IF EXISTS `test`; CREATE TABLE `test`  (   `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,   PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci ROW_FORMAT = Dynamic;   insert into test values (); select LAST_INSERT_ID(); insert into test values (); select LAST_INSERT_ID(); insert into test values (); select LAST_INSERT_ID(); delete from test where id = 3;
        登錄后復制

        然后,我們重啟一下 MySQL 服務。

        再來插入一條記錄,看一下最后插入ID。。。

        insert into test values (); select LAST_INSERT_ID(); select * from test;
        登錄后復制

        結果就是,重啟后,再插入記錄,ID依然還是3!!!

        原來 innodb 的自增ID,會在服務重啟后,自動設置為記錄中最大ID + 1。

        這個問題,只要是做物理刪除的系統里,100%可以復現。

        假設某個表的自增ID,還會和其它記錄相關聯。

        極端情況下,重啟服務前刪除了最大ID的記錄,服務恢復后插入記錄再去關聯。。。

        數據混亂問題不敢想象!

        好在,這個問題在 MySQL 8.0 中已經修復!

        如果你是 MySQL 5.7 或更舊的版本用戶,也不用擔心,多種解決方案如下:

        * 系統中的物理刪除,全部改為軟刪除。一般框架內置此功能,修改重構很方便。

        * 啟用 innodb_autoinc_persistent 設置,性能有 1% 損耗,可以忽略不計。

        innodb_autoinc_persistent=on innodb_autoinc_persistent_interval=1
        登錄后復制

        推薦學習:《MySQL視頻教程》

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 四虎国产精品永久在线无码 | 国产精品手机在线| 国产精品成| 国产精品久久午夜夜伦鲁鲁| 国产偷窥熟女高潮精品视频| 国产精品看高国产精品不卡| 亚洲国产精品狼友中文久久久| 亚洲永久永久永久永久永久精品| 国产精品日韩AV在线播放 | 国产成人久久久精品二区三区| 国产日韩精品欧美一区| 亚洲欧洲自拍拍偷精品 美利坚| 国产午夜精品久久久久九九电影 | 日韩精品一二三区| 国产综合成人色产三级高清在线精品发布 | 久久精品国产亚洲精品2020| 亚洲爆乳无码精品AAA片蜜桃| 国产精品欧美久久久久无广告 | 99久久精品国内| 国产综合精品女在线观看| 一本大道无码日韩精品影视| 久久久久成人精品无码| 国产高清国内精品福利99久久| 国产成人精品免费视频大| 精品国产三级a∨在线| 乱精品一区字幕二区| 亚洲精品国产首次亮相| 人人妻人人澡人人爽精品欧美| 精品欧美小视频在线观看| 国产精品∧v在线观看| 一区二区三区日韩精品| 精品日产一区二区三区手机| 8x福利精品第一导航| 国产AV无码专区亚洲精品 | 无码人妻精品一区二区三区66| 无码国模国产在线无码精品国产自在久国产| 成人国产精品动漫欧美一区| 亚洲欧洲国产精品你懂的| 青青青国产依人精品视频| 亚洲精品免费观看| 3级黄性日本午夜精品|