sql执行太慢的解决办法

实习问题记录

公司项目已经开发很久了,今天发现有一条sql在执行了增删改之后查询的速度异常的慢,通过控制台看到这条sql执行的时间如下


sql如下:

SELECT avsa.id,
 avsa.voucher_id,
 avsa.abstract_id,
 avsa.subject_id,
 avsa.subject_name,
 avsa.subject_import_money,
 avsa.balance_direction,
 avsa.subject_balance_direction,
 avsa.subject_import_amount,
 avsa.unit_price,
 avsa.currency_id,
 avsa.chapter,
 avsa.abstract_content,
 avsa.aid
FROM
	act_voucher_subject_amount AS avsa
LEFT JOIN act_voucher_import AS avi ON avi.id = avsa.voucher_id
WHERE
	avsa.is_deleted = 0
AND avi.is_deleted = 0
AND avi.client_id = 1705064918767923201
ORDER BY
	avsa.create_time ASC

在未执行增删改之前的速度是很快的
在这里插入图片描述

执行增删改之后这个速度太慢了
在这里插入图片描述

通过查询sql执行时间占比,找到了原因是在大量数据的表中进行了order by的原因
在这里插入图片描述
将sql的order by去掉之后
在这里插入图片描述
执行时间得到巨大改善

总结

另外遇到的一些sql问题查询慢的解决办法,一定一定要避免掉*查询,避免掉不需要使用到的字段,需要哪些字段就只查哪些字段,好像字段超过10条速度就会变慢吧~ 我也不清楚,经常去掉几个字段之后速度就变快

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值