MySQL 海量資料的 5 種分頁方法和優化技巧
點選上方“業餘草”,選擇“置頂公眾號”
第一時間獲取技術乾貨和業界資訊!
昨天,群裡有一個網友問我關於 MySQL 大資料量分頁的問題。有人回答說用快取 Redis,這個就比較麻煩了。而且別人問的是 MySQL 分頁,而不是架構如何設計!
那麼我今天就來分享一下,5 種常見的 MySQL Limit 分頁方法和優化技巧。
第一種方法,直接使用資料庫提供的 SQL 語句 limit 來分頁。
適用於資料量較少的情況。缺點是,全表掃描,速度會很慢且有的資料庫結果集返回不穩定(如某次返回1,2,3,另外的一次返回2,1,3)。Limit 限制的是從結果集的 M 位置處取出 N 條輸出,其餘拋棄。
方法二,建立主鍵或唯一索引,利用索引(假設每頁 10 條)。
適用於資料量較多的情況。這樣方法,會使用索引掃描,速度會很快。如果你的資料查詢出來並不是按照 pk_id 排序的,那麼就有可能漏掉資料的情況。所以使用的時候要注意。不行的話,你就用方法三。
方法三,基於索引再排序。
這種方法適用於資料量較多的情況。最好 ORDER BY 後的列物件是主鍵或唯一索引,使得 ORDER BY 操作能利用索引。
這種方法的特點是索引掃描,速度會很快。
方法四,基於索引使用 prepare(第一個問號表示 pageNum,第二個 ?表示每頁元組數)。
這個 SQL 很厲害,適合海量資料的場景。這個查詢會使用索引掃描,速度會很快。prepare 語句又比一般的查詢語句快一點。
方案五,利用 MySQL 支援 ORDER 操作可以利用索引快速定位部分元組,避免全表掃描。
例如:讀第 101000 到 101019 行元組( pk 是主鍵/唯一鍵)。
時間關係,我都不貼測試資料了。有問題,明天群裡討論。
學習是時刻進行的,不能遇到問題了,才去學。那就晚了,還是下面這個課程,很便宜。想深入理解 MySQL,建議你還是看看吧,返現還在進行,通過我的二維碼購買,返現 5 元紅包。
知識無價,這還不夠你一頓飯錢,也不夠你一包煙錢。
10T技術資源大放送!包括但不限於:C/C++,Linux,Python,Java,PHP,人工智慧,GO等等。在公眾號內回覆對應關鍵字或框架名字,即可免費獲取!!
你再主動一點點 我們就有故事了
相關文章
- 兩種簡單分析和優化MySQL資料庫表的方法優化MySql資料庫
- 海量資料庫的查詢優化及分頁演算法方案(轉)資料庫優化演算法
- 海量資料的分頁怎麼破?
- 在大資料情況下MySQL的一種簡單分頁最佳化方法大資料MySql
- 10分鐘掌握資料型別、索引、查詢的MySQL優化技巧資料型別索引MySql優化
- MySQL分頁查詢優化MySql優化
- MySQL——優化巢狀查詢和分頁查詢MySql優化巢狀
- 教你幾招,快速建立 MySQL 五百萬級資料,愉快的學習各種優化技巧MySql優化
- MySQL分優化之超大頁查詢MySql優化
- mysql 使用技巧 分頁limitMySqlMIT
- 安全快速修改Mysql資料庫名的5種方法MySql資料庫
- MySQL 千萬資料庫深分頁查詢優化,拒絕線上故障!MySql資料庫優化
- 【IT老齊074】海量資料大頁碼MySQL查詢MySql
- mysql資料庫查詢時用到的分頁方法有哪些MySql資料庫
- 介紹幾種提高mysql的效能和對於sql的優化的方法MySql優化
- MySQL 百萬級資料量分頁查詢方法及其最佳化MySql
- 5種快速易用的Python Matplotlib資料視覺化方法Python視覺化
- Mysql多欄位大表的幾種優化方法MySql優化
- MySQL之SQL優化技巧MySql優化
- MySQL資料庫優化MySql資料庫優化
- MySQL建立資料庫的兩種方法MySql資料庫
- mysql count函式與分頁功能極限優化MySql函式優化
- MySQL全面瓦解21(番外):一次深夜優化億級資料分頁的奇妙經歷MySql優化
- 效能優化之資料庫篇5-分庫分表與資料遷移優化資料庫
- 資料庫全表查詢之-分頁查詢優化資料庫優化
- Python操作MySQL資料庫的5種方式PythonMySql資料庫
- 分頁查詢優化優化
- PHP 原生操作 Mysql 分頁資料案例PHPMySql
- 百萬資料 mysql count(*)優化MySql優化
- MYSQL資料庫------SQL優化MySql資料庫優化
- .net中使用oracle資料庫分頁小技巧Oracle資料庫
- thinkphp5 分頁資料物件的處理PHP物件
- 【譯】Web 效能優化: 使用 Webpack 分離資料的正確方法Web優化
- Python 爬取網頁資料的兩種方法Python網頁
- MySql的資料庫優化到底優化啥了都(3)MySql資料庫優化
- 8種手動和自動備份MySQL資料庫的方法MySql資料庫
- MySql常用30種SQL查詢語句優化方法MySql優化
- MySQL 優化常用方法MySql優化