Hello World

随笔分类 -  MySQL 工作原理

摘要:1. 表数据的存储方式 表数据既可以存储在共享表空间,也可以时单独的文件。这个行为由参数 innodb_file_per_table 控制: 设置为 OFF 时,表示表数据存储在共享表空间; 设置为 ON 时,表示表数据单独存储在一个以.ibd为后缀的文件之中; MySQL 5.6.6后默认值为 O 阅读全文
posted @ 2019-03-04 22:13 小小忧愁米粒大 阅读(1729) 评论(0) 推荐(1) 编辑
摘要:1. 脏页,干净页 当内存数据页和磁盘数据页上的内容不一致时,我们称这个内存页为脏页; 内存数据写入磁盘后,内存页上的数据和磁盘页上的数据就一致了,我们称这个内存页为干净页。 2. 刷脏页的时机 2.1 redo log redo log 是循环写的,当redo log 写满了,即 write po 阅读全文
posted @ 2019-03-04 21:38 小小忧愁米粒大 阅读(2883) 评论(0) 推荐(1) 编辑
摘要:1. 使用方式 1.1 全字段加索引 给整个字段加索引,索引存储整个字段的值。 数据量较小时,查询成本高,准确度高; 数据量较大时,比较耗费空间; 1.2 前缀索引 MySQL支持前缀索引,可以定义字符串的前面的一部分字节作为索引。 查询成本低,比较节省空间; 使用前缀索引查询时,每次遇到符号查询条 阅读全文
posted @ 2019-03-04 20:58 小小忧愁米粒大 阅读(6881) 评论(0) 推荐(0) 编辑
摘要:1. 概念 Innodb维护了一个缓存区域叫做Buffer Pool,用来缓存数据和索引在内存中。其大小通过参数 innodb_buffer_pool_size 控制; change buffer 是 buffer pool 中的一部分内存;它既在内存中有拷贝,也可以持久化到磁盘;其大小通过参数 i 阅读全文
posted @ 2019-02-28 23:46 小小忧愁米粒大 阅读(1885) 评论(0) 推荐(2) 编辑
摘要:根据加锁的范围,MySQL的锁可以分为全局锁,表级锁和行锁。 1. 全局锁 一般用于全局逻辑备份操作; 1.1 FTWRL MySQL提供了一个加全局读锁的方法。命令是:Flush tables with read lock(FTWRL),执行该命令以下语句会被阻塞:数据更新语句,数据定义语句和更新 阅读全文
posted @ 2019-02-26 23:22 小小忧愁米粒大 阅读(163) 评论(0) 推荐(0) 编辑
摘要:索引的目的在于提高查询效率,它的作用就相当于一本书的目录; 1. 常见的索引模型 1.1 哈希表 优点:适用于等值查询的场景; 缺点:范围查询效率较低; 1.2 有序数组 优点:范围查询和等值查询效率较高; 缺点:插入、删除操作效率较低; 适用于静态存储引擎,保存一些不会修改的数据; 1.3 搜索树 阅读全文
posted @ 2019-02-25 23:33 小小忧愁米粒大 阅读(159) 评论(0) 推荐(0) 编辑
摘要:1. 执行SQL时显示执行情况 explain + SQL语句 2. 强制使用索引 select * from t force index (a) where a between 100 and 1000; 3. 慢查询日志 在 my.cnf 中: log-slow-queries=/var/lib 阅读全文
posted @ 2019-02-19 08:35 小小忧愁米粒大 阅读(440) 评论(0) 推荐(0) 编辑
摘要:【参考文章】:数据库的事务特性及隔离级别 1. 事务的四大特性 1.1 原子性(Atomicity) 原子性是指事务包含的所有操作要么全部成功,要么全部失败回滚,因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。 1.2 一致性(Consistency) 一致性是 阅读全文
posted @ 2019-02-18 23:45 小小忧愁米粒大 阅读(902) 评论(0) 推荐(0) 编辑
摘要:【参考文章】:MySQL中Redo与Binlog顺序一致性问题? 【参考文章】:极客时间 1. 数据更新时的日志处理流程 1.1 redo log(prepare状态) 此时SQL已经成功执行了,已经产生了语句的redo和undo内存日志,已经进入了事务commit步骤。然后告诉引擎做Prepare 阅读全文
posted @ 2019-02-18 22:27 小小忧愁米粒大 阅读(2102) 评论(0) 推荐(0) 编辑
摘要:【参考文章】:01|基础架构:一条查询语句的执行流程 1. 基本架构 大体来说,MySQL可以分为Server层和存储引擎两部分。 Server层包括链接器,分析器,优化器,执行器等,涵盖大多数核心服务功能,一般跨存储引擎的功能都在这一层实现,比如存储过程,触发器,视图等。 存储引擎负责数据的存储和 阅读全文
posted @ 2019-01-25 23:07 小小忧愁米粒大 阅读(421) 评论(0) 推荐(0) 编辑

瞅啥瞅,好好看书
点击右上角即可分享
微信分享提示