Mysql innodb 面试要点记录(一)缓冲和索引

2018-08-21  本文已影响0人  云逸Dean

1.缓冲池:

2.两次写:

为了避免在宕机时,正好数据库在写入某页面列表中,导致了页面被污染,但是又使用重做日志又没有干净的页面可以直接重写。所以 mysql 对脏页进行更新的时候,使用了两次写的方案来解决。

3.索引:(B+树后面会单独写一篇来对比与其他数据结构的区别)

innoDB 有3中索引:B+树索引、hash 索引、全文索引
B+索引具有高扇出性,树的高度一般在2-4层

3.1自适应 hash 索引:

3.2B+树索引:

3.2.1使用目的(为什么使用 b+tree):

3.2.1聚合索引:

3.2.2辅助索引:

3.2.3联合索引:

按建立联合索引的键的顺序全排列出所有的 key 组合。例如index(a,b) -> (1,1) (1,2)(2,1)(2,2)。如果使用 where A=XXX and B=XXX & where a=XXX 都可以使用到这个联合索引。但是where b=xxx 是不能使用到的。联合索引的组合方式实际上对a b c。。。等联合键值都进行了排序。所以where a=xxx order by b是可以使用到索引的

3.3全文索引:

待补充

上一篇下一篇

猜你喜欢

热点阅读