原文:MySQL 自增主鍵為啥不是連續遞增

前言 一般,我們在建表都會設一個自增主鍵,因為自增主鍵可以讓主鍵索引盡量地保持遞增順序插入,避免了頁分裂,使得索引樹更加緊湊。 自增主鍵保持着遞增順序插入,但如果依賴於自增主鍵的連續性,是會有問題的,因為自增主鍵並不能保證連續遞增。 主鍵自增值 創建一個測試表,然后插入一行數據,那么下一次插入數據的時候,自增主鍵的值就會是 InnoDB引擎的自增值,在 . 版本之前,是保存在內存中的,根據內存中 ...

2021-11-25 19:54 0 1117 推薦指數:

查看詳情

mysql主鍵為什么不是連續的?

由於自主鍵可以讓主鍵索引盡量地保持遞增順序插入,避免了頁分裂,因此索引更緊湊 MyISAM 引擎的自增值保存在數據文件中 nnoDB 引擎的自增值,其實是保存在了內存里,並且到了 MySQL 8.0 版本后,才有了“自增值持久化”的能力,也就是才實現了“如果發生重啟 表的自增值 ...

Mon Mar 04 23:08:00 CST 2019 0 1614
mysql的innodb自主鍵為什么不是連續

            圖1 圖1中是表t原有的數據,這個時候我們執行show create table t會看到如下輸出,如圖二所示現在的自增值是2,也就是下一個不指定主鍵值的插入的數據的主鍵就是2 圖2 Innodb引擎的自增值,是保存在內存中的,並且到了mysql8.0版本后 ...

Sun Apr 21 00:05:00 CST 2019 0 2107
Mysql - 自主鍵為何不是連續的?》

一:自主鍵連續的么?   - 自主鍵不能保證連續遞增。 二:自增值保存在哪里?   - 當使用 show create table `table_name`;時,會看到 自增值,也就是 AUTO_INCREMENT ...

Wed Jun 26 19:21:00 CST 2019 0 803
還是UUID?數據庫主鍵的類型選擇,為啥不能用uuid做MySQL主鍵

一、自還是UUID?數據庫主鍵的類型選擇   自還是UUID?這個問題看似簡單,但是能誘發很多思考,也涉及到了很多細節。先說下uuid和 auto_increment(數據庫自主鍵)的優缺點吧,因為是個人理解,如有錯誤懇請指出: 1、自主鍵   自ID是在設計表時將id字段的值設置 ...

Mon Sep 14 05:05:00 CST 2020 0 3941
MySQL 中什么情況會導致自主鍵不能連續

簡單點說: 以下情況會導致 MySQL主鍵不能連續: 唯一主鍵沖突會導致自主鍵連續; 事務回滾也會導致自主鍵連續。 相關面試題總結如下: 一:自主鍵連續的么?   - 自主鍵不能保證連續遞增。 二:自增值保存在哪里?  當使用 show ...

Thu Mar 26 17:30:00 CST 2020 0 707
mysql如何讓有數據的表的自主鍵重新設置從1開始連續

項目開發中,有些固定數據在數據表中,主鍵是從1自的,有時候我們會刪除一些數據, 這種情況下,主鍵就會不連續。如何恢復到像第一次插入數據一樣主鍵從1開始連續增長, 這里我找到一種解決方法: 如上面一張表,主鍵id是自的 插入兩條數據 此時我們想讓主鍵為1,2 ...

Sat May 18 02:39:00 CST 2019 1 5610
MySQL主鍵

以下僅考慮 InnoDB 存儲引擎。 自主鍵有兩個性質需要考慮: 單調性 每次插入一條數據,其 ID 都是比上一條插入的數據的 ID 大,就算上一條數據被刪除。 連續性 插入成功時,其數據的 ID 和前一次插入成功時數據的 ID 相鄰。 自主鍵的單調性 為何會有單調 ...

Wed Apr 29 07:22:00 CST 2020 0 1575
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM