mysql锁机制join使用选编.ppt

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
mysql锁机制join使用选编

1.sql使用技巧,子查询优化 2.如何进行行列转换 3.mysql 锁机制 4.mysql架构优化,性能提升,维护成本 ;;;TAB A; ; ; ; 如何更新包含在FROM从句中的表 最容易想到: Update tab1 set ms=“rs”where other ms in (select ms from tab1 a join tab2 b on a.ms=b.ms ); ; ;JOIN帮你解决难题 UPDATE tab1 a join (select b.name from tab1 a join tab2 b on a.name=b.name ) b on a.name=b.name set a.other =‘res’; 拭目以待: ;如何使用join优化子查询 场景设定: 在通过表1去查看表2中关联字段的情况 Select a.name,a.age ,(select b.女朋友 from tab2 b where a.name=b.name) from tab1 a;;如何使用join优化子查询 (不使用子查询) Select a.name,a.age,b.girlgriend from tab1 a left join tab2 b on a.name=b.name; ;如何使用join优化聚合查询 模拟场景 查询出某人在某个时间交的女朋友的最多的日期 ; 不难想出: ; 优化该聚???查询的方法 避免子查询 ; 对分组前的数据用where 对分组后的数据用having 聚合函数中体现出having ;利用cross join select * from( select sum(b.kills) as 猪八戒 from srz a join kills b on a.id=b.user_id and a.name=猪八戒 ) a cross join ( select sum(b.kills) as 唐僧 from srz a join kills b on a.id=b.user_id and a.name=唐僧 ) b cross join ( select sum(b.kills) as 孙悟空 from srz a join kills b on a.id=b.user_id and a.name=孙悟空) c cross join ( select sum(b.kills) as 沙僧 from srz a join kills b on a.id=b.user_id and a.name=沙僧) d ;;利用case when select sum(case when name=孙悟空 then kills end) as 孙悟空,sum(case whe n name=猪八戒 then kills end) as 猪八戒,sum(case when name=唐僧 then kills e nd) 唐僧 from srz a join kills b on a.id=b.user_id;; 行级锁定(row-level) 表级锁定(table-level) 页级锁定(level) ; 特点:锁定对象的颗粒度很小,提高并发 弊端:锁定对象颗粒小,每次获取锁和释放锁需要做的事情多,带来的消耗大 ; 特点:锁对象的颗粒最大,流程简单,对系统造成的负面影响小 弊端:出现锁资源争抢的概率高; 特点:不太常见,锁定颗粒度介于上面两种之间 弊端:会发生死锁;; ;·;;;;;; 尽可能让所有的数据检索都通过索引来完成,从而避免Innodb因为无法通过索引键加锁而升级为表级锁定; 合理设计索引,让Innodb在索引键上面加锁的时候尽可能准确,尽可能的缩小锁定范围,避免造成不必要的锁定而影响其他Query的执行; 尽可能减少基于范围的数据检索过滤条件,避免因为间隙锁带来的负面影响而锁定了不该锁定的记录; 尽量控制事务的大小,减少锁定的资源量和锁定时间长度; 在业务环境允许的情况下,尽量使用较低级别的事务隔离,以减少MySQL因为实现事务隔离级别所带来的附加成本; ;show status like table%;;Show status like innodb_row_lock%;; 1.Sql优化 如何使用join优化sql查询 2.行列转换 3.锁的概念;; mysql架构优化 性能提升 维护成本

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档