學習啦 > 學習電腦 > 電腦故障 > 電腦故障現(xiàn)象 > 系統(tǒng)變慢 >

MYSQL分頁limit速度太慢有什么優(yōu)化方法

時間: 加城1195 分享

  我們使用電腦和手機時候最不能忍受就是設(shè)備又卡又慢了,嚴重影響我們工作或者游戲體驗。在mysql中l(wèi)imit可以實現(xiàn)快速分頁,但是如果數(shù)據(jù)到了幾百萬時我們的limit必須優(yōu)化才能有效的合理的實現(xiàn)分頁了,否則可能卡死你的服務(wù)器哦。這篇文章主要介紹了MYSQL分頁limit速度太慢的優(yōu)化方法,需要的朋友可以參考下

  方法步驟

  當一個表數(shù)據(jù)有幾百萬的數(shù)據(jù)的時候成了問題!

  如 * from table limit 0,10 這個沒有問題 當 limit 200000,10 的時候數(shù)據(jù)讀取就很慢,可以按照一下方法解決

  第一頁會很快

  PERCONA PERFORMANCE CONFERENCE 2009上,來自雅虎的幾位工程師帶來了一篇”EfficientPagination Using MySQL”的報告

  limit10000,20的意思掃描滿足條件的10020行,扔掉前面的10000行,返回最后的20行,問題就在這里。

  LIMIT 451350 , 30 掃描了45萬多行,怪不得慢的都堵死了。

  但是

  limit 30 這樣的語句僅僅掃描30行。

  那么如果我們之前記錄了最大ID,就可以在這里做文章

  舉個例子

  日常分頁SQL語句

  select id,name,content from users order by id asc limit 100000,20

  掃描100020行

  如果記錄了上次的最大ID

  select id,name,content from users where id>100073 order by id asc limit 20

  掃描20行。

  總數(shù)據(jù)有500萬左右

  以下例子 當時候 select * from wl_tagindex where byname='f' order by id limit 300000,10 執(zhí)行時間是 3.21s

  優(yōu)化后:

  select * from (

  select id from wl_tagindex

  where byname='f' order by id limit 300000,10

  ) a

  left join wl_tagindex b on a.id=b.id

  執(zhí)行時間為 0.11s 速度明顯提升

  這里需要說明的是 我這里用到的字段是 byname ,id 需要把這兩個字段做復(fù)合索引,否則的話效果提升不明顯

  補充:解決系統(tǒng)變慢的常用技巧方法

  1、在我的電腦窗口,右擊要清理的盤符―“屬性”―“清理磁盤”--勾選要刪除的文件--確定--是。

  2、右鍵瀏覽器e――屬性――點2個刪除1個清除(都要逐一確定)――確定 。

  3、把C:\WINDOWS\Prefetch(預(yù)讀文件)把里面的文件全部刪除

  4、用優(yōu)化大師或超級兔子清理注冊表和垃圾文件。

  5、“開始”――運行中輸入msconfig――確定――啟動――除了輸入法ctfmon以外的勾全去掉。

  6、右鍵我的電腦”――屬性――點高級――點啟動和故障恢復(fù)中的設(shè)置――去掉所有的勾――寫入調(diào)試信息選擇“無”――確定――點高級下面錯誤報告――點禁用――2次確定。

  7、“開始”..打開控制面板中的文件夾選項..點查看..點去末項自動搜索文件夾前面的勾..確定。

  8、右鍵我的電腦――屬性――硬件――設(shè)備管理器――雙擊IDE控制器――次要通道――高級設(shè)置――傳送模式都選DMA――設(shè)備類型選無――確定――主要通道也同樣設(shè)置――確定。

  9、右鍵C盤進行磁盤清理和其它選項中的系統(tǒng)還原清理。

  10、刪除不用的程序軟件。


limit速度太慢有什么優(yōu)化方法相關(guān)文章:

1.PPT文字太多有哪些優(yōu)化方法

2.Windows7系統(tǒng)優(yōu)化方法 不在嫌開機慢

3.有什么方法可以徹底優(yōu)化電腦

4.Win10必做的優(yōu)化方法有哪些

5.硬盤怎么優(yōu)化

4036315