mysql知识点汇总

时间:2023-03-08 18:31:39

1. 数据库的安装

2. 数据库设计需要注意什么

3. SQL语句优化

4. 怎样处理慢查询?

5. 怎样更好的利用数据库索引?

6. 事务隔离级别有哪些?怎么实现的?

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

    作者:田木木

    

    

    本博客中未标明转载的文章归作者田木木和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。