什么是聚集索引(聚簇索引)?什么是二级索引(非聚簇索引)?
聚集索引就是叶子节点关联行数据的索引,二级索引就是叶子节点关联主键的索引,聚集索引必须有且仅有一个,二级索引可以有多个
聚集索引选取规则是先主键再唯一最后可以自动生成一个隐藏的。
什么是覆盖索引?
覆盖索引查询使用了索引并且需要返回的列在该索引中全部能够找到
超大分页处理
正常mysql使用limit时会先把数据读出然后排序再取出要的那些数据
select * from user limit 9000000,19
可以使用覆盖索引+子查询来优化
select * from user u,(select id from user order by id limit 9000000,19) i where u.id=i.id
创建索引的原则?
索引失效情况
不满足最左前缀法则
范围查询右边的列不能使用索引
在索引列上做计算操作索引会失效
字符串不加单引号导致索引失效
头部like模糊匹配索引会失效
acid是什么,事务的特性是什么?
并发事务问题
脏读 不可重复读 幻读
隔离级别
读未提交 读已提交 可重复读(默认) 串行化