中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

分析SQL優化的limit分頁延遲關聯

發布時間:2021-11-05 16:29:04 來源:億速云 閱讀:149 作者:iii 欄目:MySQL數據庫

這篇文章主要介紹“分析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分頁延遲關聯”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

sql
AI

诏安县| 古蔺县| 英山县| 任丘市| 华安县| 客服| 武冈市| 衡南县| 襄汾县| 广南县| 满洲里市| 兰州市| 益阳市| 深水埗区| 分宜县| 南和县| 苏尼特左旗| 遵义县| 定西市| 永新县| 荔浦县| 蒙自县| 故城县| 金秀| 广西| 民乐县| 哈密市| 花莲市| 建湖县| 呼图壁县| 靖江市| 和硕县| 安阳县| 贵州省| 鄂托克前旗| 平南县| 正定县| 泰州市| 申扎县| 太谷县| 阿拉善右旗|