MySql精讲
宫城诗
这个作者很懒,什么都没留下…
展开
-
20200908——阅读 全局锁和表锁 :给表加个字段怎么有这么多阻碍?
前言 根根据据加加锁锁的的范范围围,,MMyySSQQLL里里面面的的锁锁大大致致可可以以分分成成全全局局锁锁、、表表级级锁锁和和行行锁锁三三类类。 全局锁 就是对整个数据库实例加锁,mysql提供了一个加全局锁的方法,命令是 flush tables with read lock 当你需要让数据库处于只读状态的时候,可以使用这个命令。之后其他的线程的以下语句会被阻塞,数据更新语句,数据的增删改查,数据定义语句和更新类事务的语句。 ...原创 2020-09-09 16:48:55 · 257 阅读 · 0 评论 -
20200906——阅读 事务隔离:为什么你改了我还看不见?
隔离性与与隔离级别 提到事务就有acid 原子性, 一致性,隔离性 ,持久性。今天我们来说一说隔离性 当数据库中有多个事务同时执行的时候,就会出现,脏读,不可重复度,幻读。 在谈隔离级别之前,你要知道隔离级别越严实,效率就会越低,因此很多时候,我们都需要在二者之间寻找一个平衡点,sql标准的事务隔离级别包括,未提交度,已提交度,可重复读,串行化 读未提交是指,一个事务还没提交时,它做的变更就能被别的事务看到。 读提交是指,一个事务提交之后,它做的变更才会被其他事务看到。 可重复读是指,一个事务执行过程中看到原创 2020-09-06 18:52:38 · 156 阅读 · 0 评论 -
20200906——阅读 日志系统:一条SQL更新语句是如何执行的?
前言 前面我们知道了,一条sql语句是如何执行的,并且介绍了执行过程中涉及到的模块。 一条语句运行,经过了连接器,分析器,优化器,执行器,最后到达存储引擎。 序言 : 复习 数据库如何创建 create database dbname; 创建数据库中的表 语法: create table table_name{ column_name1 data_type(size), column_name2 data_type(size), column_name3 data_type(size), .... );原创 2020-09-06 18:35:25 · 164 阅读 · 0 评论 -
20200904——阅读 基础架构:一条SQL查询语句是如何执行的?
前言 大体来说,Mysql可以分成Server与存储引擎两层 Server端包括连接器,查询缓存,分析器,优化器,执行器等,涵盖mysql的大多数核心服务功能,以及所有的内置函数(如日期,时间,数字和加密函数),所有的跨存储引擎的功能都在这一层实现,比如存储过程,触发器,视图等。 而存储引擎层负责数据的存储和提取,其架构模式是插件式的,支持InnoDB,MyIsam,Memory等多个存储引擎。当然innodb是5.5.5版本之后的默认引擎。 连接器 第一步连接到数据库上,这时接待你的就是连接器。连接器负原创 2020-09-04 23:05:40 · 314 阅读 · 0 评论