![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql面试题总结
以自己学习为主,如有勘误,请多包涵和指教
西城猛少
这个作者很懒,什么都没留下…
展开
-
mysql 辅助索引
二级索引:叶子节点中存储主键值,每次查找数据时,根据索引找到叶子节点中的主键值,根据主键值再到聚簇索引中得到完整的一行记录。问题:1.相比于叶子节点中存储行指针,二级索引存储主键值会占用更多的空间,那为什么要这样设计呢? InnoDB在移动行时,无需维护二级索引,因为叶子节点中存储的是主键值,而不是指针。2.那么InnoDB有了聚簇索引,为什么还要有二级索引呢? 聚簇索引的叶子节点存储了一行完整的数据,而二级索引只存储了主键值,相比于聚簇索引,占用的空间要少。当我们需要为表建立多个索转载 2021-12-16 09:15:41 · 410 阅读 · 0 评论 -
mysql体系架构
由上图可知,mysql最上层是连接组件(客户端)。下面服务器是由连接池,管理工具和服务,SQL接口,解析器,优化器,缓存,存储引擎,文件系统等构成。1、连接池:由于每次建立连接都需要耗费很长时间和很多的资源开销,连接池的作用就是将这些链接缓存下来,下次可以直接使用缓存好的连接,以提高服务器性能。2、管理工具和服务:系统管理和控制工具,例如备份恢复,mysql复制,集群等。3、SQL接口:接收用户sql请求,并且返回用户需要查询的数据 如:select * from xxx ;就是调用S...原创 2021-12-15 20:33:14 · 115 阅读 · 0 评论 -
什么时候需要考虑分库分表?
1、能不分则尽量不分2、数据快速增长3、数据量过大,日常运营将对业务造成影响。1、首先在进行分库分表之前,我们可以对硬件进行升级,对网络进行升级,对数据库表结构以及表之间的关系进行合理设计,对索引进行优化。2、如果对上述操作都做了之后,数据量还是快速的增长,日增长上百万的数据,会给我们日常的运维带来一些影响,比如数据的备份耗费很长时间,对数据的修改会造成锁的长时间等待,这个时候需要考虑分库分表3、一般分库分表的经验值,单表数据量超过500万或者单表大小超过2GB,需要考虑分库分表。原创 2021-12-15 19:21:51 · 2312 阅读 · 0 评论