MySQL学习笔记
文章平均质量分 63
C'estBonSujourd'hui
希望事事顺意
展开
-
MySQL45讲笔记——全局锁与表级锁
全局锁使用Flush tables with read lock(FTWRL)对库加全局读锁,加锁之后整库处于只读状态。使用场景是 全库逻辑备份。在可重复读隔离级别下,Mysqldump使用-single-transaction参数,在导数据之前会启动一个事务确保一致性视图,但前提在于引擎需要支持隔离级别。为何不用 set global readonly = true ?一个是有些系统中readonly被用作逻辑操作,影响面较大,例如判断库是否主库另一个执行命令后发生异常,Mysql会自动断开FT原创 2021-02-08 23:17:02 · 114 阅读 · 0 评论 -
MySQL45讲笔记——索引(覆盖索引,最左前缀原则,索引下推)
索引(下)覆盖索引通过联合索引将所有字段囊括,查询时就不需要进行回表操作,称为覆盖索引。最左前缀原则字段满足联合索引最左N个字段,就可以利用索引进行查询。一般来说当存在索引(a,b)后,不需要再单独为a建立索引。但需要查询条件只有b的语句无法使用(a,b)这个联合索引,所以说要同时维护(a,b)和(b)这两个索引。考虑空间问题,建议a是较大的字段。MySQL 8.0.19:一个主键以及一个联合索引(name,age)。当以name进行查询时:当以age进行查询时:Extra=usi原创 2021-01-20 18:08:26 · 154 阅读 · 0 评论 -
MySQL45讲学习笔记(三九)
自增主键的连续自增值(AUTO_INCREMENT):再向表插入数据的时候会生成该值,表示下一次需要自增值的插入数据操作所填充的自增值。例:table t { `id` int(11) AUTO_INCREMENT,`b` int(11) };insert into t values(null,1)此时自增值为2;自增值的保存策略myISAM:保存于数据文件中。InnoDB:mysql5.7及以前会保存于内存中,每次重启打开会去找自增列的最大值,然后将这个值+1作为当前自增值。重启会原创 2021-01-12 11:24:32 · 155 阅读 · 0 评论 -
MySQL45讲笔记——架构
MySQL基础架构MySQL分为Server层和存储引擎层。Server层包括连接器、查询缓存、分析器、优化器、执行器等。存储引擎层负责数据的存储和提取,支持多种存储引擎。Server:连接器:负责与客户端建立连接,获取权限。权限:登录成功的同时会获得权限,意味着如果用户登录之后对该用户修改权限,新建连接才会使用新权限,对当前正在使用的用户连接无效。连接:连接默认断开时间为8小时,由于建立连接比较复杂,建议减少建立连接的动作,尽量使用长连接。长连接的缺点:MySQL再执行过程中临时内存是管理原创 2021-01-15 16:52:42 · 84 阅读 · 0 评论 -
MySQL45讲笔记——日志
MySQL日志系统MySQL备份数据由binlog和redolog实现。binlog属于Server层,redolog属于InnoDB独有。redologredolog是innoDB特有的,记录某个数据页上的修改动作,环形固定空间,有两个指针,write pos指向当前写位置,check point为刷新位置。write-check为空闲空间,check-write为需要刷盘的记录。binlogbinlog属于Server层,记录这个语句的原始逻辑,比如“给 ID=2 这一行的 c 字段加 1原创 2021-01-18 17:12:28 · 86 阅读 · 0 评论 -
MySQL45讲笔记——索引(索引模型)
索引索引常见模型:哈希表:以k-v形式存储在数组中,通过哈希函数计算key值得出数组位置,如果发生哈希冲突则在该数组位置追加链表。区间查询很慢,适用于等值查询。有序数组:有序存储,等值查询是使用二分法时间复杂度是O(log(N)),是查询效率最好的数据结构,更新数据需要移位成本太高,适用于静态存储,保存不会修改的数据。...原创 2021-01-19 22:38:34 · 147 阅读 · 0 评论 -
MySQL45讲笔记——事务
事务事务的隔离级别以及产生的问题隔离级别读未提交:指一个事务未提交时,他的变更能够被其他事务所读取到。读已提交:指一个事务提交之后,别的事务才能看到他的变更。可重复读:指一个事务执行过程中,数据总是和事务启动时的一致。序列化:对同一行记录,读会加读锁,写会加写锁,后面的事务必须要等前面的事务执行完成才能执行。mysql> create table T(c int) engine=InnoDB;insert into T(c) values(1);读未提交:V1=2,V2=2,V3原创 2021-01-18 22:22:45 · 141 阅读 · 0 评论