全面理解mysql体系架构
2026-01-06 10:19:48 4 举报
AI智能生成
MySQL是一款流行的开源关系型数据库管理系统,其体系架构设计以模块化为特点,采用多层次的组件结构。
作者其他创作
大纲/内容
体系结构与存储引擎
server层
链接器
管理链接与权限验证
wait_timeout:默认8小时,链接时长<br>
查询缓存
mysql8.0删除了
原因:对于频繁更新的数据,命中率低,两个关键参数:query_cahce_size:设置缓存大小<br>query_cache_type:<br>0:不使用缓存<br>1:查询都使用缓存,除了显示指定了sql_no_cache的查询<br>2:按需加缓存,通过sql_cache显示指定用缓存。<br>
分析器
词法与语义分析:从information_scheme表中读取表结构,语法分析sql语句是否正确<br>
优化器
决定mysql采用哪种最优方案执行
执行器
调用存储引擎层接口,获取数据返回结果集
存储引擎层
innoDB
mysql5.5.5版本默认存储引擎
innodb三大特性
插入缓冲(bufferpool)<br>
将普通索引的插入先写入chagebuffer,目的是让chage_buffer与普通索引结合,将多个插入合并到一个操作中,最终的目的是提升io效率,将随机io变为顺序io<br>
两次写
保证写入安全:防止mysql宕机,redo log物理页损坏的情况下,可以通过两次写机制,恢复页,从而恢复数据。<br>
自适应hash索引
监控索引的搜索,如果可以通过建立hash索引得到优化,那么msyql会自动完成这件事,提升查询效率。<br>
特点
支持事务,行级锁,mvcc多版本并发控制,并发性高,索引与数据都在.idb文件中,会缓存在内存里。<br>
MyISAM<br>
特点
不支持事务,表锁,mysql8.0后被废弃了,并发低,资源利用率也低。数据文件在.MYD文件里,索引在.MYI文件里。只缓存索引文件<br>
Memory<br>
特点
子主题表中的数据都放在内存中,不落地,支持Hash与btree索引,数据安全性不高,读取数据快。<br>
收藏
收藏
0 条评论
下一页