|
|
|
|
移动端

通博娱乐电子游戏备用网址:记一次生产数据库sql优化案例--23秒优化到0.9秒

本文来源:http://www.ib556.com/www_3gsc_com_cn/

申博现金充值登入,学习好、贯彻好总书记重要讲话精神,努力建设一支师德高尚、业务精湛、结构合理、充满活力的高素质专业化教师队伍,培养出更多更好能够满足党、国家、人民、时代需要的人才,意义重大而紧迫。她还说窗帘在大多数时候都是拉上的,只有事发当天处于打开的状态。包括他们的课外“闲书”的阅读交流、上网、写博客、QQ聊天,等等,其其实这些都是他们语文能力成长的重要方面,又关系到语文兴趣的培养和阅读习惯的形成。报道称,这些沟槽可让声波沿固定方向传输,就像汽车沿高速公路行驶一样。

  2015年4月1日,习近平在中央深改组第十一次会议上强调  既当改革的促进派,又当改革的实干家  要把三严三实要求贯穿改革全过程,引导广大党员、干部特别是领导干部大力弘扬实事求是、求真务实精神,理解改革要实,谋划改革要实,落实改革也要实,既当改革的促进派,又当改革的实干家。不要顺利的时候,看山是山、看水是水,一遇挫折,就怀疑动摇,看山不是山、看水不是水了。  考取容易入职难  “公开招聘、公平竞争”,“政府工”的聘任原则简单明确。自觉培育仁爱之心,树立崇高的职业理想和坚定的职业信念,爱岗敬业,以爱化人,浇灌学生心灵之花美丽绽放,滋润学生人格之树健康常青。

另外还随机附送专用的USB-C转接器,保证接口的兼容性。  主会场上,开源中国CEO马越先生进行了开场演讲。但是通过受害大学生群体暴露出来的带有相当普遍性的法律信仰和道德操守的缺失,更应该引起高等教育工作者及相关部门的重视。此外,铁通拥有固网运营经验的从业人员约4.7万人。

新项目业务人员反馈说最近订单发放模块经常很卡,导致总是有锁的情况发生,在用慢查询和开启锁监控观察后发现实际上只是单条查询慢造成的阻塞锁,这里考虑先对单条查询做一下优化。

作者:波波说运维来源:今日头条|2019-09-27 17:24

新项目业务人员反馈说最近订单发放模块经常很卡,导致总是有锁的情况发生,在用慢查询和开启锁监控观察后发现实际上只是单条查询慢造成的阻塞锁,这里考虑先对单条查询做一下优化。

一、优化前的表结构、数据量、SQL、执行计划、执行时间

1. 表结构

A表有90个字段,B表有140个字段。

记一次生产数据库sql优化案例--23秒优化到0.9秒

2. 数据量

  1. select count(*) from A; 
  2. --166713 
  3. select count(*) from B; 
  4. --220810 

3. sql

开启慢查询观察到慢sql如下,单条执行只取200条记录是在23秒左右。

  1. select ob.id, ob.customer, ob.order_no1, ob.accountingitems_code, ob.insert_date, ob.weight,  
  2. ob.volume, ob.qty, ob.project_code,ob.order_no2,ob.order_type1  
  3.  from A as ob  
  4. where ifnull(ob.project_code,'')<>'' and ifnull(ob.accountingitems_code,'')<>''  
  5. and ob.if_cost_proof='N'  
  6. and EXISTS (select 1 from B ol where ob.id=ol.order_base) limit 200; 

记一次生产数据库sql优化案例--23秒优化到0.9秒

记一次生产数据库sql优化案例--23秒优化到0.9秒

4. 执行计划

记一次生产数据库sql优化案例--23秒优化到0.9秒

思路

这两张表都是订单表,全国各地的每天大概会产生十万行左右,这里又是全扫,等后期达到上千万的数据就GG了。目前只是看到这个sql上的问题,先考虑exists部分做一下改写。

二、exists部分改写

  1. select ob.id, ob.customer, ob.order_no1, ob.accountingitems_code, ob.insert_date, ob.weight,  
  2. ob.volume, ob.qty, ob.project_code,ob.order_no2,ob.order_type1  
  3.  from fsl_order_base as ob,fsl_order_base_line ol 
  4. where ob.id=ol.order_base and ob.if_cost_proof='N' and 
  5. ifnull(ob.project_code,'')<>'' and ifnull(ob.accountingitems_code,'')<>'' limit 200; 

执行时间:耗时1.8秒

记一次生产数据库sql优化案例--23秒优化到0.9秒

对应的执行计划:

可以看到ob表走了主键索引

记一次生产数据库sql优化案例--23秒优化到0.9秒

业务确认结果符合需求,那就在这基础上建一下索引吧!

三、ol表建索引

  1. create index idx_obl_id on fsl_order_base_line(order_base); 
  2. create index idx_ob_id_cost on fsl_order_base(id,if_cost_proof); 

加上去但实际上用不到这个索引,选择去掉

记一次生产数据库sql优化案例--23秒优化到0.9秒

四、查看执行时间和执行计划

耗时1.1秒,可惜执行计划还是走了全扫,在对ob表建了索引实际上也用不到,最终只在ol表建了索引。

记一次生产数据库sql优化案例--23秒优化到0.9秒

记一次生产数据库sql优化案例--23秒优化到0.9秒

五、考虑用join改写

把ob结果集缩小,然后再做关联查,并测试是否可以用上索引。

  1. SELECT 
  2.  obc.id, 
  3.  obc.customer, 
  4.  obc.order_no1, 
  5.  obc.accountingitems_code, 
  6.  obc.insert_date, 
  7.  obc.weight, 
  8.  obc.volume, 
  9.  obc.qty, 
  10.  obc.project_code, 
  11.  obc.order_no2, 
  12.  obc.order_type1  
  13. FROM 
  14.  (select * from fsl_order_base AS ob where ob.if_cost_proof = 'N' and ifnull( ob.project_code, '' ) <> '' and ifnull( ob.accountingitems_code, '' ) <> '' ) obc 
  15.  join 
  16.  fsl_order_base_line ol  
  17.  on obc.id = ol.order_base limit 200; 

时间快了一点,但不是很明显,先凑合吧

记一次生产数据库sql优化案例--23秒优化到0.9秒

执行计划保持不变。

记一次生产数据库sql优化案例--23秒优化到0.9秒

总结

建索引前因为走了主键索引,所以时间在1.6秒这样,建索引后不走主键索引了,走ol表的索引,所以在1.5秒,然后缩小结果集去查的话就在1s这样。

更重要的是这两个表一个90个字段,一个150个字段,所以这两个表的关联查后期结果集应该还是会很大,建议是弄成分区表的形式,表能拆分的话是最好的。这些长度不要直接给那么大,这么宽对性能都是有影响的。

记一次生产数据库sql优化案例--23秒优化到0.9秒

【编辑推荐】

  1. 申博现金充值登入深入剖析 MySQL 索引和 SQL 调优实战
  2. 申博现金充值登入MySQL数据库监控指标之执行性能总结
  3. 详解MySQL数据库监控指标之连接状态
  4. 高并发环境下如何让Redis和MySQL保持数据统一
  5. 阿里面试MySQL灵魂拷问20题,Java程序员秋招必会的8个知识点
【责任编辑:赵宁宁 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

用Python玩转excel

用Python玩转excel

让重复操作傻瓜化
共3章 | DE8UG

175人订阅学习

AI入门级算法

申博现金充值登入AI入门级算法

算法常识
共22章 | 周萝卜123

157人订阅学习

这就是5G

这就是5G

5G那些事儿
共15章 | armmay

128人订阅学习

视频课程+更多

网络工程师(HCNA |CCNA | HCNP实验)

网络工程师(HCNA |CCNA | HCNP实验)

讲师:郝旺53467人学习过

大型电商高并发与秒杀实战视频课程

大型电商高并发与秒杀实战视频课程

讲师:齐毅82434人学习过

小白轻松学Spring Cloud

小白轻松学Spring Cloud

讲师:齐毅79385人学习过

读 书 +更多

非常网管——网络应用

在网络应用越来越复杂的今天,传统的网络应用已经不能满足企业和用户的需要,这就对网络管理员、信息管理部门提出了更高的要求。本书介绍了...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微

申博138登入 www.38333.com 菲律宾太阳网上娱乐登入 申博代理网登入 申博游戏吧直营网 申博官网登录
沙龙游戏怎么登入 新版太阳城申博开户 申博138官网直营 菲律宾太阳城申博直营网 申博游戏登录 www.86msc.com
申博网上娱乐登入 菲律宾太城申博登入 99真人娱乐成登入 申博官网登入 www.yh888.cc 申博游戏手机版登入