sql常见调优方法

 我来答
天罗网17
2022-07-15 · TA获得超过6200个赞
知道小有建树答主
回答量:306
采纳率:100%
帮助的人:73.8万
展开全部
一、索引方面

1.在where、order by、group by条件后的字段添加索引,为经常查询的字段添加索引。

2.能使用覆盖索引尽量使用覆盖索引,同时用 select 具体字段代替 select *。

3.检查sql语句查询时是否遵循了最左匹配原则。

4.对索引进行查询时不能对在 = 左侧进行运算,或者使用sum、avg等符合函数,会导致索引失效。

二、查询方式

1.避免使用‘%like%’语句,可以使用‘like%’.

2.查询条件不能带null查询,会导致全表扫描.

三、业务角度

1. 大批量查询时可以保存上一次查询的last insert id,使用 id > last insert id来查询。

2. 不得不使用in条件时,如果in后面数据量很多,有可能会走全表扫描;可以考虑采用分批in + 多线程的方式.

3. 当查询不得不返回所有字段是,可以考虑使用 join on 子查询的方式;即先查出符合条件的主键id 列表(必定会走覆盖索引),再通过select *  jion 临时表,该方法往往能降低不少时间效果,同时在深分页时也可以考虑采用这种方法。

四、DBA角度

1.磁盘性能

2.max_length_for_soft_data 与 sort_buffer_size,双路排序与单路排序的不同。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ZESTRON
2024-09-04 广告
在Dr. O.K. Wack Chemie GmbH,我们高度重视ZESTRON的表界面分析技术。该技术通过深入研究材料表面与界面的性质,为提升产品质量与可靠性提供了有力支持。ZESTRON的表界面分析不仅涵盖了相变化、化学反应、吸附与解吸... 点击进入详情页
本回答由ZESTRON提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式