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