溫馨提示×

溫馨提示×

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

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

數據量大mysql分頁查詢簡析

發布時間:2020-04-30 10:10:18 來源:億速云 閱讀:299 作者:三月 欄目:MySQL數據庫

下文主要給大家帶來數據量大mysql分頁查詢簡析,希望數據量大mysql分頁查詢簡析能夠帶給大家實際用處,這也是我編輯這篇文章的主要目的。好了,廢話不多說,大家直接看下文吧。

在開發過程中我們經常會使用分頁,核心技術是使用limit進行數據的讀取。在使用limit進行分頁的測試過程中,得到以下數據:

select * from news order by id desc limit 0,10
耗時0.003秒
select * from news order by id desc limit 10000,10
耗時0.058秒
select * from news order by id desc limit 100000,10 
耗時0.575秒
select * from news order by id desc limit 1000000,10
耗時7.28秒

我們驚訝的發現mysql在數據量大的情況下分頁起點越大查詢速度越慢,100萬條起的查詢速度已經需要7秒鐘。這是一個我們無法接受的數值!

改進方案 1

數據量大mysql分頁查詢簡析

select * from news 
where id >  (select id from news order by id desc  limit 1000000, 1)
order by id desc 
limit 0,10

查詢時間 0.365秒,提升效率是非常明顯的??!原理是什么呢???

我們使用條件對id進行了篩選,在子查詢 (select id from news order by id desc limit 1000000, 1) 中我們只查詢了id這一個字段比起select * 或 select 多個字段 節省了大量的查詢開銷!

改進方案2

適合id連續的系統,速度極快!

select * from news 
where id  between 1000000 and 1000010 
order by id desc

不適合帶有條件的、id不連續的查詢。速度非???!

對于以上關于數據量大mysql分頁查詢簡析,大家是不是覺得非常有幫助。如果需要了解更多內容,請繼續關注我們的行業資訊,相信你會喜歡上這些內容的。

向AI問一下細節

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

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女