
MySQL
从入门到放弃的MySQL
DK_ing
这个作者很懒,什么都没留下…
展开
-
MySQL-查询优化详解
首先了解查询执行的路径 mysql客户端/服务端通信,查询缓存,查询优化处理,查询执行引擎,返回客户端 Mysql客户端/服务端通信 Mysql 客户端与服务端的通信方式是 “ 半双工 ” ;半双工:双向通信,同时只能接收或者发送,无法同时操作 特点和限制: 客户端一旦开始发送消息,另一端要接受完,整个消息才能相应。 客户端一旦开始接收数据没法停下来发送指令。 查询状态 对于一个...原创 2019-04-15 15:51:02 · 278 阅读 · 0 评论 -
MySQL-各大存储引擎介绍
Mysql的存储引擎 mysql的存储引擎是插拔式的存储引擎,存储引擎是指定再表之上,即一个库中的每一个表都可以指定专用的存储引擎,不管表采用什么样的存储引擎,都会再数据区,产生对应的frm文件(表结构定义描述文件) CSV存储引擎 特点: 不能定义没有索引,列定义必须为NOT NULL,不能设置自增列 不适用大表或者数据的在线处理 CSV数据的存储用','隔开,可以直接编译CSV...原创 2019-04-15 13:51:09 · 191 阅读 · 0 评论 -
MySQL-索引数据结构B+Tree
首先我们先来看一下Mysql的体系结构 Mysql为什么要用B+Tree数据结构的索引 索引是什么? 索引是为了加速对表中数据行的检索而创建的一种分散存储的数据结构。索引是将数据与磁盘位置建立关联关系 为什么要用索引? 索引能极大的减少存储引擎需要扫描的数据量 索引可以把随机IO变成顺序IO 索引可以帮助我们再进行分组、排序等操作时,避免使用临时表 为什么选择B+Tree ...原创 2019-04-15 01:50:03 · 366 阅读 · 0 评论 -
MySQL-配置优化
mysql服务器参数类型 基于参数的作用域: 全局参数 set global autocommit = ON/OFF; 会话参数 set session autocommit = ON/OFF; 注意: 全局参数的设定对于已经存在的会话无法生效 会话参数的设定随着会话的销毁而失效 全局类的统一配置建议配置在默认配置文件中,否则重启服务会导致配置失效 寻找配置文件 mysql...原创 2019-04-15 18:13:41 · 550 阅读 · 2 评论 -
MySQL-MVCC原理
MVCC是什么? MVCC:Multiversion concurrency control(多版本并发控制) 并发访问(读或写)数据库 时,对正在事务内处理的数据做多版本的管理。以达到用来避免写操作的阻塞,从而引发读操作的并发问题。 Mysql中MVCC逻辑流程 插入 删除 修改 查询 案例分析 案例一(代码执行顺序:1,2,3,4,2) 案例二(代码...原创 2019-04-15 18:02:59 · 257 阅读 · 0 评论 -
MySQL-锁
理解表锁、行锁 锁是用于管理不同事物对共享资源的并发访问 表锁与行锁的区别: 锁定粒度:表锁 > 行锁 加锁效率:表锁 > 行锁 冲突概率:表锁 > 行锁 并发性能:表锁 < 行锁 InnoDB存储引擎支持行锁和表锁(另类的行锁) Mysql InnoDB锁类型 共享锁(行锁):shared locks 排它锁(行锁):exclusive locks 意...原创 2019-04-15 17:26:26 · 347 阅读 · 0 评论 -
MySQL-事务
什么是事务 事务:数据库操作的最小工作单元,是作为单个逻辑工作单元执行的一系列操作;事务时一组不可再分割的操作集合(工作逻辑元) 典型事务场景(转账): update user_account set balance = balance - 1000 where userID = 3; update user_account set balance = balance + 1000 whe...原创 2019-04-15 16:25:50 · 204 阅读 · 0 评论 -
MySQL-数据库表设计
第一范式( 1NF): 字段具有原子性,不可再分。 所有关系型数据库系统都满足第一范式)数据库表中的字段都是单一属性的, 不可再分; 第二范式( 2NF): 要求实体的属性完全依赖于主键。 所谓完全依赖是指不能存在仅依赖主键一部分的属性,如果存在, 那么这个属性和主关键字的这一部分应该分离出来形成一个新的实体, 新实体与原实体之间是一对多的关系。为实现区分通常需要为表加上一个列,以存储各个实...原创 2019-04-15 18:16:07 · 319 阅读 · 1 评论