> 一、为什么建议创建自增主键?
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