AI
推荐
模板社区
专题
登录
免费注册
首页
思维导图
详情
mysql-思维导图
2019-09-14 00:21:08
0
举报
分享方式
仅支持查看
AI智能生成
mysql面试常见问题,思维导图
mysql常见面试题
模版推荐
作者其他创作
大纲/内容
隔离级别/ACID
Atomic-原子性
Consistency-一致性
Isolation-隔离性
RC-不可重复读
RR-默认隔离级别-幻读
当前读(读取到最新数据)
delete
insert
update
select * from table update
select * from table in share mode
快照读(顾名思义读取的快照)
undo日志
read view
RR级别下如何防止幻读(Grap)
唯一索引或者主键
对于查询条件部分满足时候则会blcok插入不存在的数据
非唯一索引
对一定范围内的数据进行加Grap锁(同时和主键也有关系)
非索引
直接锁住全表
serializable
即使是读取数据也会加锁
Read Uncommit-脏读
Durablility-持久性
如何恢复数据库数据
查看事务隔离级别
SHOW VARIABLES like 'transaction_isolation';
日志
redo-log
undo-log
binlog
Mysql主从复制
如何切换主从服务器
索引
索引的种类
Inodb
MYISAM
何时使用myisam
读取频发/修改很少
对事务没有要求
索引使用的数据结构
B+Tree特性
相对于B-Tree有更良好的IO 因为B+Tree只有叶子节点才保存数据
有更稳定的查询效率 必须查询到叶子才能获取到数据
能够实现范围查询
比B-Tree能够存放更多的数据
为何使用索引
查询某个sql索引内部的实现原理
innodb(密集索引)
MYISAM(稀疏索引)
最左匹配原则
索引数量越多越好吗
小表不需要建立索引(比如码表)
数据的增删需要维护索引
增加索引必然增加数据的存储,毕竟索引也是数据
优化sql
查看慢sql
show variables like '%query%';
show status like '%query%';
查看sql文件-执行时间一切以该文件为主
分析慢sql
explain-参数含义
type
extra
优化慢sql
尽量使myql走索引
锁
myisam
表级别锁
innodb
锁级别
行级锁
表级别锁
读锁和排他锁之间关系
常用的命令
select * from table for update
lock in share mode
show variables like 'autocommit'
set autocommit=OFF
锁分类
悲观锁
操作数据利用数据库的隔离级别来实现
乐观锁
实现方式
使用版本号/时间戳来实现
缺点
只能在一个事务中使用,多个事务问题严重了
收藏
立即使用
docker基础总结
收藏
立即使用
mysql-思维导图
我爱吻篮板
职业:本科
去主页
Collect
Get Started
MySQL思维导图
Collect
Get Started
Mysql思维导图
Collect
Get Started
资料分析思维导图
Collect
Get Started
医共体思维导图
评论
0
条评论
下一页
图形选择
思维导图
主题
补充说明
AI生成
修改AI描述
去编辑
重新生成
提示
关闭后当前内容将不会保存,是否继续?
取消
确定
Document