mysql
爱学习的小鸭子
这个作者很懒,什么都没留下…
展开
-
mysql锁
一 简介myisam和memory存储引擎只支持表级锁;innodb既支持表级锁,也支持行级锁,默认情况下使用行级锁。两种锁的特性归纳如下:表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率较高,并发度较低。行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率较低,并发度也较高。二 表级锁1 表级锁的两种模式表共享读锁: Table Read Lock...原创 2019-11-18 09:30:30 · 99 阅读 · 0 评论 -
mysql事务
一 事务简介1 事务的4个特性A 原子性: 转账的过程要不转成功,要不转失败,不存在转一半的情况C 隔离性: 分两次转账,两次转账之间不能干扰对方I 一致性: 用户账户中余额=收入 - 支出,等式成立D 持久性: 数据修改保存后,不会进行回滚2 事务的语法1)开启事务start transaction; 默认使用的是读写模式2)提交事务commit;3)回滚事务rol...转载 2019-11-15 16:43:43 · 128 阅读 · 0 评论 -
mysql buffer poll
一 buffer poll 简介客户端访问数据时,mysql每次会从磁盘中加载数据页到内存中, mysql启动的时候会在内存中开辟一块buffer Poll 区域专门用来存储从磁盘中加到内存的数据页。buffer poll默认设置大小128M,可以修改配置调节。buffer poll结构: 由控制块和缓冲页组成, 每个控制块关联一个缓冲页,如下图:二 几种链表结构1 free 链m...原创 2019-11-15 15:58:20 · 495 阅读 · 0 评论 -
mysql explain
id:id是一组数字,表示查询中执行select子句或操作表的顺序,id相同,加载表的顺序是从上到下id不相同,id值越大优先级最高,最先被执行;select_type:simple:表示不需要union操作或者不包含子查询的简单select查询。有连接查询时,外层的查询为simple,且只有一个。primary:一个需要union操作或者含有子查询的select,位于最外层的单位查询...原创 2020-03-19 10:05:05 · 101 阅读 · 0 评论 -
mysql连接原理
一 3种连接1 内连接语法:SELECT * FROM t1 JOIN t2 ON t1.m1 = t2.m2;等价语法: SELECT * FROM t1, t2 where t1.m1 = t2.m2;内连接会把关联的两个表的结果集是他们的交集,两个表都可以作为驱动表。2 左连接语法:SELECT * FROM t1 LEFT JOIN t2 ON t1.m1 ...原创 2019-11-14 09:28:08 · 655 阅读 · 0 评论 -
mysql单表访问方法
单表访问方法单表访问时,根据索引列的匹配情况有如下几种访问方法。1 const根据主键或者唯一索引列直接与一个常数比较, 称为const 访问。唯一索引列中的值不重复,和主键一样,所以使用二分法查询的时候几乎一样快。例如:SELECT * FROM single_demo WHERE key1 = 'abc'其中key1是主键SELECT * FROM single_demo W...原创 2019-11-13 19:39:30 · 297 阅读 · 0 评论 -
innodb索引使用
1 索引的适用场景1)全值查询where中使用 = 进行查询时,对条件列使用索引2)匹配最左边的列联合索引在b+树的结构是先按照最左边列从小到大排序, 最左边列相同在按照第二个列字段从小到大排序,使用最左边列可以走b+树索引3)范围查询索引列的值都是按照从小到大顺序排列的,非常适合范围查询例如:a > 1 and a < 10between a and b查询出的...原创 2019-11-12 17:17:39 · 152 阅读 · 0 评论 -
innodb索引
1 innodb的索引可以把索引理解成一本书的目录,通过目录可以快速找到数据的页, 之后在页中查询到具体的数据,速度远远比从一本书的开始到结尾一页一页查询更快。innodb索引分为2种:聚簇索引: 所有记录都是通过主键大小排序的双向数据页, 底层数据页存储的是真实的数据记录, 通过主键查询的话, 只需要通过此聚簇索引就可以找到真实的数据记录;二级索引: 通过索引列大小排序组成的双向数据...原创 2019-11-12 15:08:53 · 290 阅读 · 0 评论 -
innodb数据页和行记录
一 数据页1.1 简介修改数据库表中记录时,并不是实时与磁盘中数据库同步,而是以页为单位, 定期同步内存中页数据到磁盘中,从而提高mysql的性能。1.2 结构File Header: 表示页的一些通用信息Page Header: 数据也专有的一些信息Infimum+supremum: 最小和最大记录User Records: 用户记录, 用户存储的记录都存储在这里Free Sp...原创 2019-11-11 18:47:42 · 259 阅读 · 0 评论 -
mysql字符集
1 字符集和比较规则介绍字符集: 字符的编码规则比较规则:字符集中字符比较大小的规则,一般是对字符串列进行排序,也叫排序规则两者关系:一个字符集可以有许多比较规则,会有一个默认的比较规则;而一个比较规则一定会对应一个字符集。使用说明:1)字符集和比较规则有4个级别,分别为:服务器、数据库、表、字符串字段;2)每个级别如果没有设置字符集或者比较规则,则会用上一级别的字符集和比较规则;...原创 2019-11-07 20:12:21 · 300 阅读 · 0 评论 -
mysql启动项和系统变量
一 命令行使用选项在mysqld启动命令执行的时候可以携带启动选项,例如:# 启动时设置默认新增表的存储引擎为MYISAMmysqld --default-store-engine=MYISAM1 启动选项的写法要求选项前需要带 - -选项名称如果由多个单词组成,需要用短划线 - 组装选项名 = 选项值,三者之间不能有空格2 选项的长形式和短形式mysql为了我们使用的便捷...原创 2019-11-06 20:19:25 · 180 阅读 · 0 评论 -
mysql架构和存储引擎
1.1 架构mysql架构分成3层,第一层是连接管理层, 第二层是解析优化层,第三层是存储引擎层。1 连接管理层连接管理负责与客户端的连接池,客户端与mysql服务端连接后,需要先进行用户、密码的认证。2 解析优化层1)查询缓存mysql会把最近查询的语句和结果缓存到缓冲区中,下次在有相同的语句请求时就会从缓冲区中读取。缓存失效: 当在缓冲区的语句对应的表,如果发生了delete ...原创 2019-11-06 16:48:03 · 171 阅读 · 0 评论