<MySQL面试小抄>索引考点二面总结 我是肥哥,一名不专业的面试官! 我是囧囧,一名积极找工作的小菜鸟! 囧囧表示:小白面试最怕的就是面试官问的知识点太笼统,自己无法快速定位到关键问题点!!! 本期主要面试考点 面试官考点之谈谈索引维护过程?页分裂?页合并? 面试官考点之简述一下查询时B+树索引搜索过程? 面试官考点之什么是回表? 面试官考点之什么是索引覆盖?使用场景? 面试官考点之什么情况下会索引失效? 面试官考点之哪些情况下,可能会面临索引失效的问题? 面试官考点之or走索引和索引失效分…
<MySQL面试小抄>索引考点一面总结 我是肥哥,一名不专业的面试官! 我是囧囧,一名积极找工作的小菜鸟 囧囧表示:面试最怕的就是面试官问的知识点太笼统,自己无法快速定位到关键问题点!!! 本期主要面试考点 面试官考点之谈谈你对索引的理解? 面试官考点之解释一下计算机层面索引快的原因? 面试官考点之为什么不使用哈希结构作为索引结构? 面试官考点之为什么不使用二叉树作为索引结构? 面试官考点之为什么不使用B-Tree,而是B+Tree? 面试官考点之索引是加速查询,那么是否应该给表尽可能建立多的…
<MySQL面试小抄>查询缓存机制终面 我是肥哥,一名不专业的面试官! 我是囧囧,一名积极找工作的小菜鸟! 囧囧表示:小白面试最怕的就是面试官问的知识点太笼统,自己无法快速定位到关键问题点!!! 本期主要面试考点 面试官考点之简述一下什么是查询缓存机制? 面试官考点之查询如何命中缓存? 面试官考点之什么场景下SQL和结果集不会被缓存? 面试官考点之什么场景下会导致MySQL缓存失效? 面试官考点之查询缓存是如何进行内存管理的? 面试官考点之MySQL是一次性分配所有的内存空间吗? 面试官考点之…
我是肥哥,一名不专业的面试官! 我是囧囧,一名积极找工作的小菜鸟! 囧囧表示:小白面试最怕的就是面试官问的知识点太笼统,自己无法快速定位到关键问题点!!! 本期主要面试考点 面试官考点之什么情况下会索引失效? 本期验证以下索引失效的常见场景 1.like通配符,左侧开放情况下,全表扫描 2.or条件筛选,可能会导致索引失效 3.where中对索引列使用mysql的内置函数,一定失效 4.where中对索引列进行运算(如,+.-.*./),一定失效 5.类型不一致,隐式的类型转换,导致的索引失效…
上文中,我们了解了MySQL不同引擎下索引的实现原理,在本文我们将继续探讨一下索引的使用以及优化. 创建索引可以大大提高系统的性能. 第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性. 第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因. 第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义. 第四,在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间. 第五,通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能.…
php面试专题---16.MySQL创建高性能索引考点 一.总结 一句话总结: 注意:只写精品 1.索引的基础? 类似书籍的目录:索引类似于书籍的目录,要想找到一本书的某个特定主题,需要先查找书的目录,定位对应的页码 索引->行号->数据:存储引擎使用类似的方式进行数据查询,先去索引当中找到对应的值,然后根据匹配的索引找到对应的数据行 2.索引对性能的影响? 1.大大减少服务器需要扫描的数据量,大大提高查询速度,降低写的速度.占用磁盘 2.帮助服务器避免排序和临时表 3.将随机I/O变顺序I/…
php面试专题---17.MySQL的SQL语句编写考点 一.总结 一句话总结: 注意:只写精品 1.MySQL的关联UPDATE语句? 关键UPDATE A,B:UPDATE A,B SET A.c1=B.c1,A.c2=B.c2 WHERE A.id=B.id 关键A INNER JOIN B:UPDATE A INNER JOIN B ON A.id=B.id SET A.c1=B.c1,A.c2=B.c2 WHERE...… 2.有A(id,sex,par,c1,c2),B(id,age…
接上篇 7️⃣  正确使用索引 一.索引未命中 并不是说我们创建了索引就一定会加快查询速度,若想利用索引达到预想的提高查询速度的效果, 我们在添加索引时,必须遵循以下问题: #1 范围问题,或者说条件不明确,条件中出现这些符号或关键字:>.>=.<.<=.!= .between...and....like. #2 尽量选择区分度高的列作为索引,区分度的公式是count(distinct col)/count(*),表示字段不重复的比例,比例越大我们扫描的记录数越少,唯一键的区分度是…
摘要 本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题.特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MySQL数据库支持多种索引类型,如BTree索引,哈希索引,全文索引等等.为了避免混乱,本文将只关注于BTree索引,因为这是平常使用MySQL时主要打交道的索引,至于哈希索引和全文索引本文暂不讨论. 文章主要内容分为三个部分. 第一部分主要从数据结构及算法理论层面讨论MySQL数据库索引的数理基础. 第二部分结合MySQL数据库中My…
前言 如果面试官问的是,为什么Mysql中Innodb的索引结构采取B+树?这个问题时,给自己留一条后路,不要把B树喷的一文不值.因为网上有些答案是说,B树不适合做文件存储系统的索引结构.如果按照那种答法,自己就给自己挖了一个坑,很难收场.因此,就有了这篇文章的诞生~ 正文 这里的Mysql指的是Innodb的存储引擎下的索引结构,其他存储引擎我们暂时不讨论. B树和B+树 开头,我们先回忆一下,B树和B+树的结构以及特点,如下所示:B树 注意一下B树的两个明显特点 树内的每个节点都存储数据 叶…