文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

分析SQL优化的limit分页延迟关联

2024-04-02 19:55

关注

这篇文章主要介绍“分析SQL优化的limit分页延迟关联”,在日常操作中,相信很多人在分析SQL优化的limit分页延迟关联问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”分析SQL优化的limit分页延迟关联”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

       MySQL分页查询最头疼的问题是偏移量非常大,比如limit 10000,20,就要检索出10020条记录,值返回最后20条,前边的10000行全部抛弃掉。对于检索字段非常多的情况下,效率更为糟糕。

 SELECT
	id,
	order_seq,
	product_id,
	user_id,
	artisan_id,
	order_price,
	real_pay,
	date_format( order_time, '%Y-%m-%d %H:%i:%s' ) order_time,
	user_address,
	STATUS,
	date_format( pay_time, '%Y-%m-%d %H:%i:%s' ) pay_time,
	user_contact,
	coupon_price,
	coupon_effect_price,
	order_over_time,
	product_price,
	product_trade_price,
	source_from,
	create_time,
	out_channel
FROM
	us_order 
WHERE
 ( source_from != 20 OR source_from IS NULL ) 
	AND out_channel = 0 
ORDER BY
	id DESC 
	LIMIT 1000000,10

       例如这个SQL,耗时110s。我们需要检索出1000010条记录,然后取最后10条,包括近20个字段,对于IO的消耗是非常大的,与此同时,因为SQL执行时间较长,CPU时间占比也较高,在并发高的情况下,很可能出现CPU打满。

       对于这个SQL本身来说,偏移量1000000我们无法改变,那我们如何减少MySQL扫描的页来提高查询速度呢?

SELECT
	id,
	order_seq,
	product_id,
	user_id,
	artisan_id,
	order_price,
	real_pay,
	date_format( order_time, '%Y-%m-%d %H:%i:%s' ) order_time,
	user_address,
	STATUS,
	date_format( pay_time, '%Y-%m-%d %H:%i:%s' ) pay_time,
	user_contact,
	coupon_price,
	coupon_effect_price,
	order_over_time,
	product_price,
	product_trade_price,
	source_from,
	create_time,
	out_channel 
FROM
	us_order 
	inner join
	(select id from us_order where ( source_from != 20 OR source_from IS NULL ) AND out_channel = 0 ORDER BY id DESC LIMIT 1000000,10) as aa using(id)
WHERE
	( source_from != 20 OR source_from IS NULL ) 
	AND out_channel = 0 	

到此,关于“分析SQL优化的limit分页延迟关联”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯