![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
苒翼
2
展开
-
【数据库篇】MySQL InnoDB ibd 文件格式解析
mysql innodb的表由.frm .ibd 组成,frm:存了每个表的元数据,包括表结构的定义等;ibd:存了每个表的元数据,包括表结构的定义等;ibd文件结构由segment inode、extent和page组成。通过py_innodb_page_info可以查看某张表的ibd结构,如下面这个例子:page offset 00000000, page type <File S...原创 2020-05-07 23:29:42 · 20987 阅读 · 3 评论 -
【数据库篇】MySQL性能优化(读)
1.0 连接数配置1.1 MySQL对连接请求的控制max_connections参数控制MySQL的最大连接数,当并发请求数超过max_connections设置的值,将拒绝访问mysql> SHOW VARIABLES WHERE variable_name LIKE '%max_connections%'; +------------------------+-------+| Variable_name | Value |+--------------------原创 2020-06-27 20:07:10 · 466 阅读 · 0 评论 -
【数据库篇】MySQL源码分析之RowIterator(索引、排序、表关联源码分析)
上一篇文章分析了Mysql查询的整体逻辑,其中提到RowIterator是查询的关键,本篇文章则具体分析下RowIterator 的细节1、核心//sql_union.ccbool SELECT_LEX_UNIT::ExecuteIteratorQuery(THD *thd) { List<Item> *fields = get_field_list(); //查询到的结果 Query_result *query_result = this->query_resu原创 2020-11-01 23:00:31 · 755 阅读 · 0 评论 -
【数据库篇】MySQL源码分析之row_search_mvcc详细分析(Page加载及索引分析)
从上一篇文章了解到Innodb的查询最终都是通过row_search_mvcc执行的,接下来就来略详细的分析下row_search_mvcc的执行流程。本文主要分析查询逻辑忽略了部分细节,比如行锁表锁等处理,数据库事务的快照查询等。由于本人是Java开发并不擅长C++,只是看代码并没有进行调试,分析细节不对的地方还请指正哈~一、先理清楚row_search_mvcc的主要流程1.1、基本参数定义dict_index_t *index = prebuilt->index; //索引const d原创 2020-11-01 22:59:53 · 2233 阅读 · 0 评论 -
【数据库篇】MySQL源码整体分析
源码下载地址:https://github.com/mysql/mysql-server分析的是当前最新源码8.0.22的样子,这段时间才开始接触mysql源码,主要分析mysql的查询,后期在逐步分析插入和锁等内容。分析mysql具体功能前,先介绍下mysql整体运行流程,然后后面再具体分析功能模块。一、先介绍mysql入口及网络请求1.1、mysql的入口//main.ccint main(int argc, char **argv) { return mysqld_main(arg原创 2020-11-01 22:58:38 · 3493 阅读 · 0 评论