数据库
风语听画
思考+痛苦==成长!
展开
-
01 | 基础架构:一条SQL查询语句是如何执行的?
一条SQL查询语句是如何执行的?mysql 的基础架构示意图如下所示:客户端----->服务层------->存储层服务层包括连接器,查询缓存,分析器,优化器,执行器,以及所有的内置函数存储引擎则负责数据的存储和提取,存储引擎又分myisam, innodb等等, 所有种类的存储引擎共用同一个服务层mysql5.55后默认存储引擎为innodb连接器分为长连接和短...原创 2018-11-30 17:47:41 · 261 阅读 · 0 评论 -
02 | 日志系统:一条SQL更新语句是如何执行的?
#<-- 该文章借鉴林晓斌老师mysql实战45讲 ->一条SQL更新语句是如何执行的?更新是建立在查询之上的,可以说更新==查询+修改,所以更新操作也会走一遍查询语句的流程.mysql的更新操作涉及到两个重要日志文件:redo log(重做日志)和 binlog(归档日志):a. redo log 是属于innodb引擎的,myisam引擎不存在redo log 所以...原创 2018-12-03 10:42:05 · 255 阅读 · 0 评论 -
04 | 浅谈mysql索引上
一. 表类型在InnoDB存储引擎表中,每张表都有个主键,如果在创建表时没有显式地定义主键(Primary Key),则InnoDB存储引擎会按如下方式选择或创建主键:首先表中是否有非空的唯一索引(Unique NOT NULL),如果有,则该列即为主键。不符合上述条件,InnoDB存储引擎自动创建一个6个字节大小的自动增长指针。设置默认主键的作用:设立主键后,对主键建立主键索引,所有数...原创 2018-12-28 00:22:23 · 187 阅读 · 0 评论 -
03 | 浅谈mysql事务
mysql事务有了解多少?在mysql中,事务是在引擎层实现的,目前mysql常用的两种存储引擎分别为:myisam和innodb,innodn支持,而myisam是不支持事务的(第二篇文章有说到原因),这也是为什么现在mysql的默认存储引擎是innodb提到事务,我们肯定会想到mysql的ACID(Atomicity,Consistency,Isolation,Durability...原创 2018-12-23 12:49:28 · 195 阅读 · 1 评论 -
05 | 浅谈mysql索引下
我们知道数据库索引的作用是用来提高查询效率,那索引应该怎么建立?有哪些建立技巧?,今天主要记述三种建立索引技巧!一 . 覆盖索引什么是覆盖索引?如果一张表,id是主键索引,name为普通索引,当执行select id from t where name = 'neale’的时候,这个时候只需要查询id值,而id值已经在name树索引上了,因此可以直接返回查询结果而不需要进行回表。也就是说,...原创 2019-01-03 15:35:07 · 261 阅读 · 1 评论 -
06 | mysql全局锁,表锁,MDL锁
写在前面:有时候安排好的计划总是没能如期完成,于是这篇文章就托在现在了!一. 全局锁什么是全局锁?顾名思义,全局锁就是对整个数据库实例进行加锁,mysql提供了两种方法添加全局读锁:a. Flush table with read lock(ftwrl)b. set global readonly=true(一般不建议使用)使用上述命令后,以下语句会被阻塞:数据更新语句(增,删,改...原创 2019-01-14 17:45:14 · 759 阅读 · 0 评论 -
08 | 快照--MVCC
写在前面:勿以事小而不为,用心做事,把它做好!一. MVCC什么是MVCC?MVCC (Multiversion Concurrency Control),即多版本并发控制技术,它使得大部分支持行锁的事务引擎,不再单纯的使用行锁来进行数据库的并发控制,取而代之的是把数据库的行锁与行的多个版本结合起来,只需要很小的开销,就可以实现非锁定读,从而大大提高数据库系统的并发性能简化理解:通过数...原创 2019-01-22 17:28:52 · 606 阅读 · 0 评论 -
07 | mysql行锁
写在前面:我们都是挖井人,也许挖到水的条件仅仅是需要保持专注而已!行锁什么是行锁?顾名思义,行锁就是对数据行进行加锁,mysql的行锁是在引擎层实现的,innodb引擎支持行锁,而myisam不支持所以myisam只能使用表锁.行锁的两阶段协议在innodb事务中,行锁是需要的时候才加上去的,但并不是不需要了就立即释放,而是要等到事务结束再释放上述两个事务A,B中,事务B必须...原创 2019-01-16 23:01:47 · 139 阅读 · 0 评论