AI
推荐
模板社区
专题
登录
免费注册
首页
思维导图
详情
MySQL
2020-07-15 10:47:23
0
举报
分享方式
使用 (¥5)
AI智能生成
mysql学习脑图(完善中)
mysq
读书笔记
学习笔记
知识管理
模版推荐
作者其他创作
大纲/内容
锁
性能
乐观锁
悲观锁
对数据库操作类型
读锁
写锁
对数据操作的粒度
表锁
行锁
事务
属性ACID(4个)
原子性(Atomicity)
一致性(Consistent)
隔离性(Isolation)
持久性(Durable)
隔离级别
读未提交(Read-Uncommitted)
读已提交(Read-Committed)
可重复读(Repeatable-Read)(默认)
可串行化(Serializable)
并发处理事务带来的问题
更新丢失
脏读
不可重复读
幻读
MVCC(多版本并发控制)
底层数据结构
B+树
Hash
explain(执行计划)
id
select_type
table
partitions
type
ALL(全表)
const
ref
index
range
possible_keys
key
key_len
ref
Extra
存储引擎
InnoDB
MyISAM
trace工具
优化
SQL优化
Order By
GROUP BY
COUNT
COUNT(*)
COUNT(1)
COUNT(id)
COUNT(field_name)
JOIN
关联字段加索引,让mysql做join操作时尽量选择NLJ算法
小表驱动大表,如果明确知道哪张表是小表,可以使用straight_join写法固定连接驱动方式
LIMIT
覆盖索引
in和exsits
锁优化
尽可能让所有数据检索都通过索引来完成,避免无索引行锁升级为表锁
合理设计索引,尽量缩小锁的范围
尽可能减少检索条件范围,避免间隙锁
尽量控制事务大小,减少锁定资源量和时间长度,涉及事务加锁的sql尽量放在事务最后执行
尽可能低级别事务隔离
表设计
设计合适的索引
字段设计
分库、分表
收藏
立即使用
IM架构图
收藏
立即使用
项目管理基础
收藏
立即使用
Java线程的生命周期
收藏
立即使用
MySQL
赏花同学
职业:暂无
去主页
Collect
Get Started
MySQL
Collect
Get Started
MySql
Collect
Get Started
MYSQL(初级)
Collect
Get Started
MySQL高级
评论
0
条评论
下一页
图形选择
思维导图
主题
补充说明
AI生成
修改AI描述
去编辑
重新生成
提示
关闭后当前内容将不会保存,是否继续?
取消
确定
Document