当前位置: 首页 > news >正文

ps手机网站页面设计网站主页设计模板

ps手机网站页面设计,网站主页设计模板,鸿运网站建设,爱星光(istar)高端网站建设通过减少回表和增加冗余字段,优化SQL查询效率一、减少回表1:分析执行计划2:子查询SQL3:分析思路4:业务insert_monoth聚合5:优化效果二、增加冗余字段1:分析执行计划2:表索引index_test1_test2_test3已经存在3:分析思路4:优化效果一、减少回表 原始SQL select temp…

通过减少回表和增加冗余字段,优化SQL查询效率

  • 一、减少回表
    • 1:分析执行计划
    • 2:子查询SQL
    • 3:分析思路
    • 4:业务insert_monoth聚合
    • 5:优化效果
  • 二、增加冗余字段
    • 1:分析执行计划
    • 2:表索引index_test1_test2_test3已经存在
    • 3:分析思路
    • 4:优化效果

一、减少回表

原始SQL

select temp.basicId,
temp.type,
temp.insert_monoth
from(select  t2.basicId,
t2.type,
t2.insert_monothfrom t2where edition_id in (...)
) temp
left join  test3 t3 on temp.item_id = t3.item_id 
group by temp.basicId, t3.type,t3.insert_monoth

1:分析执行计划

发现原始SQL使用子查询引起的临时表,而且子查询很慢
type为 ALL、ref、range;Extra为Using temporary、Using where、Using index condition

2:子查询SQL

虽然走了索引但是发现执行计划"Using index condition",代表使用了索引下推来减少回表,于是需要减少回表,才能提升查询效率

3:分析思路

由于子查询查询字段过多,无法使用覆盖索引,此时就需要回表查询数据。于是修改SQL只获取id字段,得到临时表,然后用id字段inner join临时表,进而查询出需要的字段
优化后SQL

select distinct t1.basicId
from test1 t1 
inner join (select id from test1 where edition_id in (...)group by basicId) temp1 on temp1.id = t1.id

4:业务insert_monoth聚合

对应内存中的临时表进行group by导致无法走索引,而且group by字段越多,效率越差。尤其insert_monoth会造成10倍消耗,所以在SQL中删除此过滤条件。在业务代码按照insert_monoth进行二次聚合。

5:优化效果

最终查询时间欧诺个2.4s优化到0.7s!

二、增加冗余字段

原始SQL

select test1,test2,test3,date_format(insert_date,'%Y-%m') as insertMonth
from t where (test1,test2,test3) in (...)
and date_format(insert_date,'%Y-%m') = '2025-08'
group by test1,test2,test3

1:分析执行计划

type列为range,Extra列为Using where

2:表索引index_test1_test2_test3已经存在

3:分析思路

where条件虽然命中索引,但是insert_date未命中,而且where查询条件做函数运算,严重影响查询效率。
可以将t表新增1个冗余字段insert_month,直接将date_format(insert_date,‘%Y-%m’)结果保存到t表中,然后索引修改为index_test1_test2_test3_insert_month

4:优化效果

500个入参,生产环境查询时间由3s降低到了0.66s

http://www.dtcms.com/a/614827.html

相关文章:

  • 常闭式4G远程开关,从硬件到软件整体实现
  • 找潍坊做网站的360网址大全电脑版
  • 怎么给网站做php后台库易网网站
  • 响应式网站模板xd公司网站管理规定
  • Linux命令-Emacs命令(纯文本网页浏览器)
  • 成都电商网站制作西安模板建站定制
  • aave v3 资产状态更新(updateState)合约代码解析
  • 淄博外贸网站建设公司wordpress首页调用文章多张图片
  • 自适应网站模板公司网站建设 趋势
  • 前端无障碍开发资源,WCAG指南与工具
  • 【前端学习】React学习【万字总结】
  • 前端无障碍开发标准,WCAG 2.2新特性
  • 人形机器人应用于职业教育与实训,以及素养课题设计与知识图谱动态更新
  • 人力资源网站怎么建设网站不想备案
  • 建设网站的文案范文深圳高端logo设计公司
  • 前端微前端架构设计,应用间通信 前端微前端架构设计:应用间通信的实践与挑战
  • 短讯 | 利用开源 Galaxy 平台简化临床细菌全基因组测序数据分析
  • 基于单片机的智慧校园自动打铃系统设计
  • 网站群建设管理规定做公司+网站建设价格
  • 搭建网站用服务器还是虚拟主机百度站长平台清退
  • 技术演进中的开发沉思-192 JavaScript: 发展历程(下篇)
  • 视频网站seo怎么做青海做网站的公司
  • 反编译使用易语言工具详细解析与实践指南
  • Android Navigation 组件(用于Fragment间的跳转)
  • 旅游做视频网站产品宣传网站开发
  • 常州做企业网站如何做好产品网络推广
  • 【具身智能】深入理解3D旋转:从欧拉角、万向锁到四元数与插值算法SLERP
  • 城市建设网站设计代码生成器在线
  • 浏览器中内嵌一个浏览器
  • 深圳网站建设推广方法赣州优化公司