工作隨筆 資料分頁 效能優化

2022-04-30 17:48:12 字數 1319 閱讀 4867

好久沒有寫部落格了,最近一直在做效能優化,抽時間把工作中的一些心得寫下來。

分頁是程式中乙個非常常見的功能,一般包含2部分的內容(資料列表和總數)。

分享一下各種偽**和思路(不包含業務搜尋條件的優化和db相關的優化)。

//

1.完成需求的思路(偽**)

public

vo getlist(string mis)

// 2.

稍微優化一下的思路(偽**)

public

vo getlist(string mis)

//查詢資料列表

listlist =dao.querylist(mis);

vo.setcount(count);

vo.setlist(list);

return

vo;}

// 3.

快取count欄位的思路(偽**)

public

vo getlist(string mis)

//判斷總數是否等於0,等於0就直接返回

if(count == 0)

//查詢資料列表

listlist =dao.querylist(mis);

vo.setcount(count);

vo.setlist(list);

return

vo;}

//

4.上千萬級以上資料的思路:

//1.將獲取資料列表和總數拆分成2個介面提供

//2.前端快取記錄總數

//3.後端傳送第n(n>1)頁的記錄總數

//請根據實際情況調整使用

//獲取資料列表(偽**)

public

vo getlist(string mis)

//查詢資料列表

listlist =dao.querylist(mis);

vo.setcount(count);

vo.setlist(list);

return

vo;}

//獲取count欄位(偽**)

public

vo getcount(string mis)

//判斷總數是否等於0,等於0就直接返回

if(count == 0)

//查詢資料列表

vo.setcount(count);

vo.setlist(

null

);

return

vo;}

謝謝

,根據自己的場景調整key

Mysql 效能優化隨筆

今天,解決乙個在大量資料環境下,查詢mysql資料庫恢復的功能丟資料問題。在除錯過程中發現乙個現象,半個小時大約才插入了2.5萬條記錄。12小時才能插入60多萬條記錄。小量資料恢復是沒有問題。只有在大量資料條件下恢復採用問題,200多萬條記錄的資料庫恢復,我得恢復到猴年馬月啊。正好今天時間寬鬆。優化...

MySQL分頁效能優化

在對大表進行分頁時,如果在服務端實現分頁,大多數情況採用sql的limit語法來實現。但是當頁數越來越大時,效能很可能成為問題,尤其是需要查詢表的所有字段。1.索引與非索引字段 在查詢的結果集中,如果只包含索引字段,效能相比於包含非索引字段,差別很大。下面是乙個簡單的例子,在大約50w行的表上操作 ...

mysql 分頁效能優化

最簡單的分頁方法是這樣的 select from exarticletemp order by createdate desc limit 10000,10 該表中存在5w左右資料 執行時間平均在10s左右,因此該種方式在資料量大的情況下查詢效率極低。優化方式有以下幾種 1.此種方式平均在7 8s之...