版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
aDB•玄惭出自天龙八部•2010年加入淘宝DBA•2012年加入阿里云RDS•负责RDS线上的稳定•历年RDS双11的负责人•RDS专家服务组负责人一索引SQL优化案例三锁例四延迟参数优化案例六conn100%案例七cpu100%案例八iops100%案例九disk100%案例十mem100%例一索引dFROMuserWHEREmoLIMITmysql>explainSELECTuidFROM`user`WHEREmoIMIT0,1;************************1.row***************************id:1select_type:SIMPLEtable:usertype:ALLpossible_keys:NULLkey:NULLkey_len:NULLrows:707250Extra:Usingwhere执行时间mysql>SELECTuidFROM`user`WHEREmoIMIT0,1;CREATETABLE`user`(`uid`int(11)unsignedNOTNULLAUTO_INCREMENTCOMMENT'id',`pid`int(11)unsignedNOTNULLDEFAULT'0',`email`char(60)NOTNULL,`name`char(32)NOTNULLDEFAULT'',`mo`char(11)NOTNULLDEFAULT'',PRIMARYKEY(`uid`),UNIQUEKEY`email`(`email`),KEY`pid`(`pid`))ENGINE=InnoDBENGINE=InnoDBAUTO_INCREMENT=972600DEFAULTCHARSET=utf8;验证mo字段的过滤性mysql>selectcount(*)fromuserwheremo+----------+|count(*)|+----------+|0|+----------+1rowinset(0.05sec)mysql>altertableuseraddindexind_mo(mo);mysql>SELECTuidFROM`user`WHEREmoIMIT0,1;Emptyset(0.05sec)mysql>explainSELECTuidFROM`user`WHEREmoIMIT0,1\G;**********************1.row***************************id:1select_type:SIMPLEtable:usertype:indexpossible_keys:ind_mokey:ind_mokey_len:33ref:NULLdex例mysql>explainextendedselectuidfrom`user`wheremoimit0,1;mysql>showwarnings;Warning1:Cannotuseindex'ind_mo'duetotypeorcollationconversiononfield'mo'Note:select`user`.`uid`AS`uid`from`user`where(`user`.`mo`limit0,1LT)ENGINE=InnoDB;例mysqlexplainSELECTuidFROMuserWHEREmo=LIMIT0,1\G;***************************1.row***************************id:1select_type:SIMPLEtable:usertype:refpossible_keys:ind_mokey:ind_mokey_len:33ref:constrows:1Extra:Usingwhere;Usingindexmysql>SELECTuidFROM`user`WHEREmo=LIMIT0,1;Emptyset(0.00sec)12341234通过explain查看sql的执行计划及隐士转换数据类型类型以及字符集定义不当导致段库字段定义与应用程序参数定义出现不一致不支持函数索引,避免在查询条件加入函数:date(a.gmt_create)SQL审核所有上线的sql都要经过严格的审核,创建合适的索引案例二分页优化案例|Query|51|Sendingdata|select*案例二分页优化案例普通写法:ql优化写法:selectt1.*frombuyert1,(selectidfrombuyersellerid=100limit100000,5000)t2wheret1.id=t2.id;注意:需要在t表的sellerid字段上创建索引,id为表的主键createindexind_selleridonbuyer(sellerid);原始语句:selectid,...frombuyerwheresellerId=765922982andgmt_modified>='1970-01-01andgmt_modified<='2013-06-05limit255000,5000;优化后语句:selectt2.*案例二from(selectidfrombuyerwheresellerId=765922982andgmt_modifiedandgmt_modified<='2013-06-05limit255000,5000)t1,buyert2wheret1.id=t2.id查询时间:60Sà0.2S分页优化案例案例二子查询优化案例nameFROMemployeesWHEREemp_noINSELECTempnoFROMsalaries000WHEREsalary=5000);SELECTfirst_nameFROMemployeesemp,(SELECTemp_noFROMsalaries_2000WHEREsalary=5000)salWHEREemp.emp_no=sal.emp_no;化化Limit写法,避免分页查询给数据库带来性能影响使用Mysql5.6的版本,可以避免麻烦的子查询改写字段用SELECT*查询所有字段数据,只查询需要的字段数据112233、案例三锁级锁Innodb与Myisam级锁新Query|111|Usersleep|selectid,sleep(100)fromt_myisam|tingfortablelevellockupdatetmyisamsetidwhereidQueryWaitingfortablelevellockupdatet_myisamsetid=2whereid=1|Altertablet_myisamengine=innodb;ck数据库连接状态:QueryQueryQueryQueryQueryatetimedbdb据库中的运行时间加长3.选择升级到MySQL5.6版本,支持onlineddl期执行上述操作,比如创建索引,添加字段;3.结构变更期间,监控数据库的线程状态是否存在lockwait;4.ApsaraDB支持在DDL变更中加入waittimeout;1122||案例四只读实例架构数据库需要升级到5.6版本最多支持5个节点采用MySQL复制原生实现数据同步案例四DDL导致延迟ectloaddatadeletefromupdatefromTips通过执行showprocesslist查看连接的状态;锁会阻塞复制线程导致复制延迟;案例四资源问题导致延迟Tips压力:同步压力+只读业务压力否达到瓶颈;2.二看线程状态是否有锁;2.只读实例的规格不低于主实例;3.大事务拆分为小事务;4.DDL变更期间观察是否有大查询;1122、案例五参数优化案例五一个参数引发的血案背景介绍:地的业务系统迁移上云在rds上运行时间明显要比线下自建数据库运行时间要慢1倍割接延期的风险关键词:案例五一个参数引发的血案1、数据库跨平台迁移(PG->MySQL、ORALCE->MySQL)案例五一个参数引发的血案优化器版本:用户5.6,RDS的版本5.6ITCHmergeonindexmergeuniononindexmergesortuniononindexmergeintersectiononenginecondition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoinonloosescanonfirstmatchonbquerymaterializationcostbasedonuseindexextensionson案例五一个参数引发的血案确定SQL执行计划:rows=39900*1*1*140*285*1*1*1*1*1*1*1案例五一个参数引发的血案数配置用户配置:join_buffer_size=128Mread_rnd_buffer_size=128Mtmp_table_size=128Mjoin_buffer_size=1Mtmp_table_size=256K案例五一个参数引发的血案验证阶段:tmp_table_size由256K调整至128MB2.查看数据库版本和优化器规则;3.对比参数设置;4.对比硬件配置;1.Query_cache_size;4.Back_log1122六、案例六cpu100%案例六cpu100%慢SQL问题慢SQL问题引,子查询,隐士转换,分页改写等优化;发和管理运维优化锁等待;化,弹性升级,读写分离,数据库拆分等方式优化;Cpu100%最佳实践112233七、案例七conn100%案例七conn100%慢SQL问题慢SQL问题引,子查询,隐士转换,分页改写等优化;发和管理运维优化锁等待;池参数配置超出实例最大连接数;2.弹性升级RDS的规格配置;Conn100%最佳实践112233八、案例八iops100%慢SQL慢SQL问题.通过优化索引,子查询,隐士转换,分页改写等优化;DDL1.内存规格不足,弹性升级RDS的规格配置;Iops100%最佳实践112233九、案例九disk100%案例九disk100%成:数据文件,日志文件,临时文件问题问题1.采用optimizetable收缩表空间;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 三年级下册美术教学设计-第7课 放大镜丨赣美版
- 晋中2024年山西晋中市第一人民医院校园招聘25人笔试上岸历年典型考题与考点剖析附带答案详解
- 昆明2024年云南昆明市西山人民医院招聘第一批非事业编制工作人员11人笔试上岸历年典型考题与考点剖析附带答案详解
- 无锡2024年江苏无锡江阴市招聘专职“两新”党建工作指导员25人笔试上岸历年典型考题与考点剖析附带答案详解
- 新疆2024年新疆昌吉州第一中学选聘教师24人笔试上岸历年典型考题与考点剖析附带答案详解
- 新疆2024年新疆兵团第七师医院高层次人才引进36人笔试上岸历年典型考题与考点剖析附带答案详解
- 扬州2024年江苏扬州高邮市事业单位(党校)招聘笔试上岸历年典型考题与考点剖析附带答案详解
- 成都2024年四川成都蒲江县医疗卫生事业单位招聘19人笔试上岸历年典型考题与考点剖析附带答案详解
- 惠州2024年广东惠州市中心人民医院第二批临聘人员招聘18人笔试上岸历年典型考题与考点剖析附带答案详解
- 忻州2023年山西忻州市应急救援队等3个市直事业单位招聘笔试上岸历年典型考题与考点剖析附带答案详解
- 校园自助纸巾计划书
- 小儿泌尿系感染护理查房课件
- 智能化弱电工程 投标方案(技术方案)
- 人类遗传资源管理制度
- 个税专项附加扣除课件
- 供货及付款协议
- 四川开放大学《汽车机械基础》终结性考试复习题库(附答案)
- 剧本-进入黑夜的漫长旅程
- 2024届山东省青岛市西海岸新区四中学中考生物押题卷含解析
- ICU医院感染管理考核标准
- 基于7Q理论的实战金融营销学(山东联盟)智慧树知到课后章节答案2023年下山东交通学院
评论
0/150
提交评论