《MySql基础》图解
2022-05-17 14:47:46 0 举报
AI智能生成
登录查看完整内容
为你推荐
查看更多
MySql基础实战之路
作者其他创作
大纲/内容
《MySql基础》图解
和发起请求的客户端简历连接span style=\
连接器
分析器
优化你的sql优化联合索引优化join 小表驱动大表
优化器
执行器
server
Buffer Pool机制
存储引擎
大体两部分
SQL语句在MySQL的执行过程
ACID
并发事务带来的问题
事务隔离级别
乐观锁
悲观锁
性能层面
读锁
写锁
数据库层面
表锁
行锁
数据操控力度
间隙锁
临键锁
概念性:InnoDB的行锁是针对索引加的锁,不是针对记录加的锁。并且该索引不能失效,否则都会从行锁升级为 表锁。
尽可能让所有数据检索都通过索引来完成,避免无索引行锁升级为表锁 \t合理设计索引,尽量缩小锁的范围 \t尽可能减少检索条件范围,避免间隙锁 \t尽量控制事务大小,减少锁定资源量和时间长度,涉及事务加锁的sql尽量放在事务最后执行 \t尽可能低级别事务隔离
锁优化建议
锁
MySql事务和锁
undo版本链
版本比对规则
read-view一致性视图
MVCC机制
补充: 日志IO 是顺序存储在磁盘数据IO 是随机存储在磁盘
流程图
Buffer Pool缓存
二叉树
红黑树
BTREE
Hash
B+TREE
数据结构
寻道(慢)
旋转(快)
磁盘
联合索引不要建太多
全值匹配
最左前缀原则
不要在索引上进行计算
覆盖索引
索引下推
Like %%
索引最佳使用原则
filesort
单路排序
双路排序
order by
生成临时表
group by
select * from a where id > 9000 limit 5
根据id优化
limit
用索引关联的两张表 NLJ算法
没走索引关联的两张表 BNL算法
尽量不要同时关联多张表
join
* 1 id name
count
cost 成本
trace查询性能
工具
能用java做的尽量用java
索引优化
联合索引尽量覆盖条件
不要在数字上建立索引
设计索引原则
外框
索引
type
key
Extra
Explain优化工具
慢查询
防止误操作删库
bin-log
redo
一致性视图 read-view
undo
日志
MyISAM
InnoDB
0 条评论
回复 删除
下一页