面试题记录
mysql索引失效
最左前缀原则,比如索引的数据结构是b+树
b树特点:根节点至少两个子女,
中间节点包含k-1的元素和k个子节点
每个叶子节点包含k-1个元素
所有叶子节点位于同一层
每个节点的元素从小到大排列,节点中k-1个元素正好是k个孩子包含的值域划分
b+树是b树的变种
叶子节点包含所有中间节点的信息,即是叶子节点中的最大或者最小元素
叶子节点包含所有的信息,以及指向这些元素记录的指针,叶子节点本身依照关键字大小自小而大顺序链接
中间节点仅包含索引
例如不遵循最左前缀原则,即要查找的数据结构的二叉树并非是有序的,所以就无法通过二分走索引,只能按个比对,造成索引失效,比如联合索引,先走A再走C略过B 仅在A走索引,无法走C的索引
like 百分号在前 即 找以xxx为结尾或者中缀的数据,自然并非有序的,无法走索引, 以及not in 查询 varchar未加引号 造成成为int数据类型 >号右边的 !=操作永远不会用到索引。
两个端之间数据传输的过程,此时想考察的是零拷贝。先记录下来晚上再来总结
数据的拷贝:磁盘拷贝到内存,内存到内核,内核再到用户空间,用户空间到网卡
浙公网安备 33010602011771号