1. 数据库的安装
2. 数据库设计需要注意什么
3. SQL语句优化
4. 怎样处理慢查询?
7. 数据库锁有哪些?
8. 如何保证数据库高可用?
9. 如何保证数据库高并发?
10. 什么样的数据库缓存方案最合理?
11. innodb和myisam对比
12. 有哪些好用的数据库中间件?
13. 数据库日志介绍
14. 数据库主从复制
mysql 数据主从的实现方式:RBR,SBR,MBR
2. 索引:
B+Tree
1)一个节点存储多个数据,这样的好处,是可以充分利用预读功能。
2)节点上是不存储数据的(这里是指不存储指向数据真实地址的指针或主键地址),所有的数据都在叶子节点上。并且每个叶子节点有一个指向下一个叶子节点的指针,这样可以方便遍历。
索引分类:
B-Tree索引:
哈希索引(hash index):哈希索引基于哈希表实现,只有精确匹配索引所有列的查询才有效。结构十分紧凑,查询速度非常快。
空间数据索引:
全文索引:
innodb索引分类:
聚簇索引(clustered index):1) 有主键时,根据主键创建聚簇索引; 2) 没有主键时,会用一个唯一且不为空的索引列做为主键,成为此表的聚簇索引; 3) 如果以上两个都不满足那innodb自己创建一个虚拟的聚集索引
辅助索引:在聚簇索引之上创建的索引称之为辅助索引,辅助索引访问数据总是需要二次查找。辅助索引叶子节点存储的不再是行的物理位置,而是主键值。
复合索引:由多列创建的索引称为符合索引,在符合索引中的前导列必须出现在where条件中,索引才会被使用
前缀索引:当索引的字符串列很大时,创建的索引也就变得很大,为了减小索引体积,提高索引的扫描速度,就用索引的前部分字串索引,这样索引占用的空间就会大大减少,并且索引的选择性也不会降低很多。而且是对
BLOB和TEXT列进行索引,或者非常长的VARCHAR列,就必须使用前缀索引,因为MySQL不允许索引它们的全部长度。
参见:https://blog.csdn.net/bigtree_3721/article/details/51335479