MYSQL常见面试题

13 阅读1分钟

索引

有哪几种索引?

常见的有唯一索引(可以值为空),主键索引(特殊的唯一索引,值不能为空),联合索引

如何设置索引,要注意什么
  1. 不要在频繁修改的字段创建索引
  2. 索引最好建立在频繁搜索的字段上
  3. 索引的数量不宜太多,索引本质是空间换时间
  4. 联合索引最好把区分度高的字段放左侧
什么时候不走索引

like语句,or语句 联合查询时最左侧字段不是索引字段 运算符+-,is not null 判空,!=,not in等逻辑判断语句 字段是字符串时,查询没有用括号括起来,导致隐式类型转换

为什么不用b树用b+树

b+树非叶子节点不存储数据,只存储指针和索引,能提升io效率 b+树的叶子节点在内存中是连续的,而b树是不连续的