> 一、為什么建議創建自增主鍵?
1. 自增主鍵本身就是排好序,方便插入,維護費用更少。
2. 遞增主鍵本身就非常符合索引排序的性質。
> 二、非聚簇索引一定會進行回表查詢嘛?
在InnoDB存儲引擎中非聚簇索引也稱為輔助索引,是除了聚簇索引(主鍵索引)外的一類索引,其索引的BTree結構的葉子節點的衛星數據并不包含對應數據行的所有數據,而是只包含行對應的主鍵。一般情況下,SQL語句在走輔助索引的情況下,會先查輔助索引拿到行對應的主鍵后,再去主鍵索引中查找對應的行數據。這個過程也稱之為回表。
但是對于多列索引(聯合索引)這種非聚簇索引,如果SQL要查詢的列包含在聯合索引的列中,就會直接讀取數據,不會再拿主鍵去主鍵索引中查找。這個過程就稱為索引覆蓋,這也是通常上建議查詢的時候寫明需要的列的原因。
> 三、最左匹配原則
> 如何保證隔離性?
> DoubleWrite有了解過嘛?
- 第一章 Java基礎
- ThreadLocal
- Java異常體系
- Java集合框架
- List接口及其實現類
- Queue接口及其實現類
- Set接口及其實現類
- Map接口及其實現類
- JDK1.8新特性
- Lambda表達式
- 常用函數式接口
- stream流
- 面試
- 第二章 Java虛擬機
- 第一節、運行時數據區
- 第二節、垃圾回收
- 第三節、類加載機制
- 第四節、類文件與字節碼指令
- 第五節、語法糖
- 第六節、運行期優化
- 面試常見問題
- 第三章 并發編程
- 第一節、Java中的線程
- 第二節、Java中的鎖
- 第三節、線程池
- 第四節、并發工具類
- AQS
- 第四章 網絡編程
- WebSocket協議
- Netty
- Netty入門
- Netty-自定義協議
- 面試題
- IO
- 網絡IO模型
- 第五章 操作系統
- IO
- 文件系統的相關概念
- Java幾種文件讀寫方式性能對比
- Socket
- 內存管理
- 進程、線程、協程
- IO模型的演化過程
- 第六章 計算機網絡
- 第七章 消息隊列
- RabbitMQ
- 第八章 開發框架
- Spring
- Spring事務
- Spring MVC
- Spring Boot
- Mybatis
- Mybatis-Plus
- Shiro
- 第九章 數據庫
- Mysql
- Mysql中的索引
- Mysql中的鎖
- 面試常見問題
- Mysql中的日志
- InnoDB存儲引擎
- 事務
- Redis
- redis的數據類型
- redis數據結構
- Redis主從復制
- 哨兵模式
- 面試題
- Spring Boot整合Lettuce+Redisson實現布隆過濾器
- 集群
- Redis網絡IO模型
- 第十章 設計模式
- 設計模式-七大原則
- 設計模式-單例模式
- 設計模式-備忘錄模式
- 設計模式-原型模式
- 設計模式-責任鏈模式
- 設計模式-過濾模式
- 設計模式-觀察者模式
- 設計模式-工廠方法模式
- 設計模式-抽象工廠模式
- 設計模式-代理模式
- 第十一章 后端開發常用工具、庫
- Docker
- Docker安裝Mysql
- 第十二章 中間件
- ZooKeeper