更改

跳到导航 跳到搜索
添加681字节 、 2019年9月2日 (一) 17:31
第124行: 第124行:     
MEMORY表被存储在内存中,且默认使用哈希索引
 
MEMORY表被存储在内存中,且默认使用哈希索引
 +
 +
 +
为什么索引结构默认使用B-Tree,而不是hash,二叉树,红黑树?
 +
* hash:虽然可以快速定位,但是没有顺序,IO复杂度高。
 +
* 二叉树:树的高度不均匀,不能自平衡,查找效率跟数据有关(树的高度),并且IO代价高。
 +
* 红黑树:树的高度随着数据量增加而增加,IO代价高。
 +
 +
为什么建议使用自增长主键作为索引。
 +
 +
结合B+Tree的特点,自增主键是连续的,在插入过程中尽量减少页分裂,即使要进行页分裂,也只会分裂很少一部分。并且能减少数据的移动,每次插入都是插入到最后。总之就是减少分裂和移动的频率。
    
== 大数据量的优化 ==
 
== 大数据量的优化 ==

导航菜单