MYSQL查询优化方法集合

少用一次select * ,少一次苦恼。

小编:这篇杂记,很水

1、避免使用select *查询

2、避免重复查询相同数据

3、mysql是否在扫描额外的记录,尽可能查询只返回需要的数据。最简单的衡量查询开销的3个指标:响应时间,扫描行数,返回的行数。检查慢日志记录是找出扫描行数过多的查询的办法 。

3.1 查看查询扫描的行数与返回行数

3.2 查看扫描行数和访问类型

explain语句中的type列反映了访问类型(全表扫描、索引扫描、范围扫描、唯一索引查询、常数引用等)。

mysql能够使用3钟方式应用where:1、在索引中使用where条件来过滤不匹配的记录(在存储引擎层完成);2、使用索引覆盖扫描(在extra列出现using index)来返回记录,直接从索引中过滤不需要的记录并返回命中的结果(在服务器层完成,无须再回表查询记录);3、从数据表中返回数据,然后过滤不满足条件记录(在extra中出现using where)(在服务器层完成,需要从数据表读取记录然后过滤)

4、若需查询需要扫描大量数据,但是只返回很少的行:

4.1 使用索引覆盖扫描,把所有需要用的列都放到索引中,这样存储引擎无须回表获取对应行就可以返回结果;

4.2 改变数据库结构(如:使用单独的汇总表);

4.3 重写复杂查询(使MYSQL优化器可以用更优化的方式执行此查询)。

5、考虑1个复杂查询还是多个简单查询

6、切分查询:将一个大的查询切分成多个小部分查询(避免一次锁住很多数据、占满事务日志、耗尽系统资源、阻塞其他重要查询,可减少mysql复制的延迟)

7、分解关联查询(优点:让缓存的效率更高;将查询分解后,执行单个查询可以减少锁竞争;在做应用层关联,可以更容易对数据库拆分,更容易做到高性能和可扩展;可减少冗余记录查询)

8、show processlist可以获得现在的查询状态

9、查询缓存:在解析一个查询语句前,如果查询缓存是打开的,那么MYSQL会优先检查这个查询是否命中查询缓存中的数据。

MYSQL通过关键字将SQL语句进行解析,并生成一颗相应的解析树,解析器将使用mysql语法规则验证和解析查询。

10、查询优化器:一个查询有多种执行方式,优化器将找到最好的执行计划。

11、尽可能避免排序或者避免对大量数据进行排序(可查询所需要的列,再根据给定列排序,然后返回结果)

12、索引合并和交叉过滤的方式来定位需要查找的行

13、优化关联查询:确保on或者using子句中的列上有索引;确保任何group by和order by中的表达式只涉及到一个表中的列

14、优化group by和distinct:使用索引优化

15、避免使用select for update

16、尽可能在索引中完成排序;只取出自己需要的列,避免多余的列;尽可能避免复杂的 Join语句和子查询;

17、可用exist代替的条件语句,避免使用in

18、可用分表查询的语句,避免使用join连接

当前,全球经济格局深刻调整,数字化浪潮席卷各行各业,智能物流作为现代物流发展的必然趋势和关键支撑,正迎来前所未有的发展机遇。以人工智能、物联网、大数据、云计算、区块链等前沿信息技术的快速迭代与深度融合为驱动,智能物流不再是传统物流的简单技术叠加,而是正在经历一场从自动化向智能化、从被动响应向主动预测、从信息孤岛向全面互联的深刻变革。展望2025年,智能物流系统将不再局限于提升效率、降低成本的基本目标,而是要构建一个感知更全面、决策更精准、执行更高效、协同更顺畅的智慧运行体系。这要求我们必须超越传统思维定式,以系统化、前瞻性的视角,全面规划和实施智能物流系统的建设。本实施方案正是基于对行业发展趋势的深刻洞察和对未来需求的精准把握而制定。我们的核心目标在于:通过构建一个成了先进感知技术、大数据分析引擎、智能决策算法和高效协同平台的综合智能物流系统,实现物流全链路的可视化、透明化和智能化管理。这不仅是技术层面的革新,更是管理模式和服务能力的全面提升。本方案旨在明确系统建设的战略方向、关键任务、技术路径和实施步骤,确保通过系统化部署,有效应对日益复杂的供应链环境,提升整体物流韧性,优化资源配置效率,降低运营成本,最终为客户创造更卓越的价值体验。我们致力于通过本方案的实施,引领智能物流迈向更高水平,为构建现代化经济体系、推动高质量发展提供强有力的物流保障。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刺猬多情

一分钱都是爱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值