当前位置:网站首页>查询优化(TTFB过长)left join索引未生效
查询优化(TTFB过长)left join索引未生效
2022-08-05 11:46:00 【夏至青柠】
今天发现页面初始化加载时间过长,(TTFB)等待状态竟然花费了近7s,要对此页面加载进行优化,减少加载时间

执行页面查询对应的sql;发现table f的type为ALL,以为未加索引;

找到该表查看,有索引;那么问题应该就是索引未生效;想了一下失效的种种原因竟然都不满足,有点纳闷;
最后发现JBS_PROJECT_PROFIT f ON f.PROJECT_ID = p.ROW_ID中的f.PROJECT_ID = p.ROW_ID字符集和排序规则不同;于是统一之后,sql执行时间未0.5s,页面立马加载好了。索引成功优点很明显,极大提高了查询效率。


总结一下:
页面查询加载慢,考虑该查询功能是否包含了冗余的处理;
查看对应的sql是否规范,是否添加了索引;
- 索引失效部分情况:
- 表的字符集不同
- 在where条件中进行运算
- like %%,且以通配符开头(‘%abc…’)mysql索引失效会变成全表扫描的操作
- 在索引列上做任何操作(计算、函数、(自动or手动)类型转换),会导致索引失效而转向全表扫描
- 组合索引不满足最左匹配原则
- 两列做比较
- is not null
- not in和not exists等等
小结
本文记载了自己在工作中遇到页面加载时间过长情况,通过代码及sql最后定位到原因索引失效,最终确认列的排序规则不同也会导致索引失效,有点意料之外,记录一下,在实践中会遇到各种奇怪的问题,静下心来,解决方式往往在不起眼的位置。
活动地址:CSDN21天学习挑战赛
边栏推荐
- PHP高级检索功能的实现以及动态拼接SQL
- Five reasons why developers choose Klocwork, a static analysis tool for code quality, for software security
- Can't get in to ask questions.I want to ask you a question about the return value (traversal of the graph), please give Xiaobai an answer.
- 有多一只“手”的机器狗出没?就在昇腾AI开发者创享日·南京站
- TiDB 6.0 Placement Rules In SQL 使用实践
- 硅谷来信:快速行动,Facebook、Quora等成功的“神器”!
- Mysql8基础知识
- 关注微信公众号,自动登陆网站
- 低代码平台开发有什么好处?
- 可视化开发必看:智慧城市四大核心技术
猜你喜欢

PHP高级检索功能的实现以及动态拼接SQL

支持向量机SVM

D-Desthiobiotin-PEG4-Maleimide主要物理性质特点 !

365 days challenge LeetCode1000 questions - Day 050 add a row to the binary tree binary tree

Support Vector Machine SVM

Qt::qcustomplot 和 qchart数据填充相关

Flink Yarn Per Job - 启动TM,向RM注册,RM分配solt

PMP每日一练 | 考试不迷路-8.5(包含敏捷+多选)

2022年6月互联网医疗领域月度观察

No developers, received a job to develop an IoT system, do you want to do it?
随机推荐
SonarQube即将亮相第十八届GOPS全球运维大会
hdu1455 Sticks (search+pruning+pruning+.....+pruning)
五大理由告诉你为什么开发人员选择代码质量静态分析工具Klocwork来实现软件安全
Android development with Kotlin programming language II Conditional control
Keras 分割网络自定义评估函数 - mean iou
What do T and Z in the time format 2020-01-13T16:00:00.000Z represent and how to deal with them
【硬件架构的艺术】学习笔记(3)处理多个时钟
The importance of parameter naming, remember a JDBC parameter conflict
Mathcad 15.0软件安装包下载及安装教程
Introduction to the Evolution of Data Governance System
【硬件架构的艺术】学习笔记(2)同步和复位
todolist案列——原生js
ORACLE ASM提供的三种冗余方式
高泽龙出席博鳌全球旅游生态大会 讲元宇宙与未来网络科技
Android development with Kotlin programming language three loop control
学习用于视觉跟踪的深度紧凑图像表示
“小钢炮”气质明显,安全、舒适一个不落
How to write a blog with Golang - Milu.blog development summary
hdu 1870 愚人节的礼物 (栈)
Apache APISIX Ingress v1.5-rc1 发布