MySQL
为什么mysql index要用b+, 不用b?
https://draveness.me/whys-the-design-mysql-b-plus-tree/
哈希虽然能够提供
O(1)
的单数据行操作性能,但是对于范围查询和排序却无法很好地支持,最终导致全表扫描;B 树能够在非叶节点中存储数据,但是这也导致在查询连续数据时可能会带来更多的随机 I/O,而 B+ 树的所有叶节点可以通过指针相互连接,能够减少顺序遍历时产生的额外随机 I/O;
MySQL 怎么做index
MySQL 有哪些种类index
Mysql共支持五种索引类型:
PRIMARY KEY 主键索引
INDEX 普通索引
UNIQUE 唯一索引
FULLTEXT 全文索引
组合索引(较特殊)
MySQL 隔离等级有哪些
MySQL isolation levels有read committed, snapshot isolation (repeatable read), serializable isolation.
MySQL 默认隔离等级是什么?有什么优点?会出现什么现象?
MySQL默认的isolation level是snapshot isolation (repeatable read)
但是没法解决write skew or phantom的anomaly, 并且由于是read consistent snapshot所以没有linearizable guarantee, 另外MVCC本身不知道算不算是一种cost毕竟要maintain 很多不同的committed versions
可以幻读
DB transaction / ACID
Last updated