JUST SO SO之 MySQL

1.整体逻辑架构:

连接层-逻辑处理层-数据存储引擎层-文件存储层



2,常用引擎



3,JOIN语法:

A,B表为例
内连接(A INNER JOI
N B ON A.KEY = B.KEY):A,B共有
左连接(A LEFT JOIN B ON A.KEY = B.KEY):A全表+B表关联A表的部分
右连接(A RIGHT JOIN B ON A.KEY = B.KEY):B全表+A表关联B表的部分
左外连接(A LEFT JOIN B ON A.KEY = B.KEY WHERE B.KEY IS NULL):A表独有
右外连接(A RIGHT JOIN B ON A.KEY = B.KEY WHERE A.KEY IS NULL):B表独有
全连接(A FULL OUTER JOIN B ON A.KEY = B.KEY):AB所有的
全外连接A FULL OUTER JOIN B ON A.KEY = B.KEY WHERE A.KEY=NULL OR B.KEY=NULL):AB不共有的

4,索引:

定义:是帮助SQL高效获得数据的数据结构,排好序的快速查找数据结构; 目的:体搞查询效率类比字典

索引类型:单值,唯一,复合,




BTree:



5.SQL优化

优化4步曲:1.慢查询日志捕获
  2.explain+慢SQL分析
  3.show profiles 生命周期分析
  4.服务器参数调优




possible_keys:mysql认为可能用到的索引, key:实际用到的索引, key_len:查找耗费字节数,保证精度情况下越小越好
ref:表示索引被那一列引用到了,最好是个常量值

单表查询优化:根据查询字段建立索引,范围字段会索引失效,可跳过,复合索引效果最佳。
俩表查询优化:左连接,右边字段建立索引,右连接相反。

6.索引优化:

6.1  索引失效:



like统配百分号最好写右边 解决like俩边百分号索引失效-覆盖索引


永远小表驱动大表:


7.mysql锁机制

三锁:行锁(偏写),表锁(偏读),页锁;
读锁(共享锁):可读不可写;只能读被锁的表,其他写只能阻塞;
写锁(排他锁):在一个写操作未完成前不可进行下一个写操作,其他读阻塞;
简而言之,就是读锁会阻塞写,但是不会阻塞读,而写锁则会把读和写都阻塞;


索引失效会导致行锁变表锁;
间隙锁:

优化建议:

事务隔离级别:



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值