国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

MySQL 百萬級分頁優化(Mysql千萬級快速分頁)

2024-07-24 12:49:02
字體:
來源:轉載
供稿:網友
以下分享一點我的經驗

一般剛開始學SQL的時候,會這樣寫
復制代碼 代碼如下:

SELECT * FROM table ORDER BY id LIMIT 1000, 10;

但在數據達到百萬級的時候,這樣寫會慢死
復制代碼 代碼如下:

SELECT * FROM table ORDER BY id LIMIT 1000000, 10;

也許耗費幾十秒

網上很多優化的方法是這樣的
復制代碼 代碼如下:

SELECT * FROM table WHERE id >= (SELECT id FROM table LIMIT 1000000, 1) LIMIT 10;

是的,速度提升到0.x秒了,看樣子還行了
可是,還不是完美的!

以下這句才是完美的!
復制代碼 代碼如下:

SELECT * FROM table WHERE id BETWEEN 1000000 AND 1000010;

比上面那句,還要再快5至10倍

另外,如果需要查詢 id 不是連續的一段,最佳的方法就是先找出 id ,然后用 in 查詢
復制代碼 代碼如下:

SELECT * FROM table WHERE id IN(10000, 100000, 1000000...);


再分享一點
查詢字段一較長字符串的時候,表設計時要為該字段多加一個字段,如,存儲網址的字段
查詢的時候,不要直接查詢字符串,效率低下,應該查詭該字串的crc32或md5

如何優化Mysql千萬級快速分頁

Limit 1,111 數據大了確實有些性能上的問題,而通過各種方法給用上where id >= XX,這樣用上索引的id號可能速度上快點兒。By:jack
Mysql limit分頁慢的解決辦法(Mysql limit 優化,百萬至千萬條記錄實現快速分頁)

MySql 性能到底能有多高?用了php半年多,真正如此深入的去思考這個問題還是從前天開始。有過痛苦有過絕望,到現在充滿信心!MySql 這個數據庫絕對是適合dba級的高手去玩的,一般做一點1萬篇新聞的小型系統怎么寫都可以,用xx框架可以實現快速開發。可是數據量到了10萬,百萬至千 萬,他的性能還能那么高嗎?一點小小的失誤,可能造成整個系統的改寫,甚至更本系統無法正常運行!好了,不那么多廢話了。用事實說話,看例子:
數 據表 collect ( id, title ,info ,vtype) 就這4個字段,其中 title 用定長,info 用text, id 是逐漸,vtype是tinyint,vtype是索引。這是一個基本的新聞系統的簡單模型。現在往里面填充數據,填充10萬篇新聞。
最后collect 為 10萬條記錄,數據庫表占用硬盤1.6G。OK ,看下面這條sql語句:

select id,title from collect limit 1000,10; 很快;基本上0.01秒就OK,再看下面的
select id,title from collect limit 90000,10; 從9萬條開始分頁,結果?
8-9秒完成,my god 哪出問題了????其實要優化這條數據,網上找得到答案。看下面一條語句:
select id from collect order by id limit 90000,10; 很快,0.04秒就OK。 為什么?因為用了id主鍵做索引當然快。網上的改法是:
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 平谷区| 木兰县| 龙里县| 元江| 文成县| 琼海市| 迭部县| 古蔺县| 玉环县| 酒泉市| 镇巴县| 黔西| 鄯善县| 庆安县| 武夷山市| 张家口市| 凤台县| 新源县| 阿尔山市| 巴里| 织金县| 纳雍县| 霞浦县| 镶黄旗| 偏关县| 娄烦县| 瑞昌市| 景谷| 磴口县| 灌云县| 青川县| 东乌珠穆沁旗| 明光市| 南江县| 福泉市| 平原县| 体育| 吕梁市| 安多县| 马鞍山市| 云南省|