mysql 較為高效的分頁

2021-09-30 11:47:36 字數 2895 閱讀 5304

直接上**

daoimpl:

/*** 開發轉讓頁面展示 ,查詢搜尋資料,並且分頁展示

* @param zrdp 搜尋條件封裝物件

* @return

*/@suppresswarnings("unchecked")

public listshowallzrdpxxpageindex(zrdpxx zrdp,int pageindex,string keys)

if(zrdp.getdpxxqyu()!=null&&!zrdp.getdpxxqyu().equals("-選擇區域-"))

if(zrdp.getdpxxpyetai()!=null&&!zrdp.getdpxxpyetai().equals(""))

if(zrdp.getdpxxzyetai()!=null&&!zrdp.getdpxxzyetai().equals("0")&&!zrdp.getdpxxzyetai().equals("null"))

if(zrdp.getbigmji()!=0&&zrdp.getsmlmj()!=-1)

//開始時間和結束時間均有值

if(zrdp.getbegintime()!=null&&!zrdp.getbegintime().equals("")&&zrdp.getendtimes()!=null&&!zrdp.getendtimes().equals("null"))

//只有開始時間

if(zrdp.getbegintime()!=null&&!zrdp.getbegintime().equals("")&&zrdp.getendtimes()==null)

if(!("標題 位址 **").equals(keys))

sql +=" order by dpxx_fbusjian desc";

}return getsession().createsqlquery(sql).addentity(zrdpxx.class).setfirstresult((pageindex-1)*20).setmaxresults(20).list();

}//public int getallzrdpcounts()

///**

* 開發轉讓頁面展示 ,查詢滿足條件的開發轉讓店鋪資訊

* @param zrdp 搜尋條件封裝物件

* @return

*/@suppresswarnings("unchecked")

public int showallzrdpxx(zrdpxx zrdp,string keys)

if(zrdp.getdpxxqyu()!=null&&!zrdp.getdpxxqyu().equals("-選擇區域-"))

if(zrdp.getdpxxpyetai()!=null&&!zrdp.getdpxxpyetai().equals(""))

if(zrdp.getdpxxzyetai()!=null&&!zrdp.getdpxxzyetai().equals("0")&&!zrdp.getdpxxzyetai().equals("null"))

if(zrdp.getbigmji()!=0&&zrdp.getsmlmj()!=-1)

//開始時間和結束時間均有值

if(zrdp.getbegintime()!=null&&!zrdp.getbegintime().equals("")&&zrdp.getendtimes()!=null&&!zrdp.getendtimes().equals("null"))

//只有開始時間

if(zrdp.getbegintime()!=null&&!zrdp.getbegintime().equals("")&&zrdp.getendtimes()==null)

if(!("標題 位址 **").equals(keys))

}object oo =  getsession().createsqlquery(sql).uniqueresult();

return integer.parseint(oo.tostring());

}action:

/*** 開發轉讓展示 ,追加物件搜尋

* @return 集合

高效的MySQL分頁

size large percona performance conference 2009上,來自雅虎的幾位工程師帶來了一篇 efficient pagination using mysql 的報告,有很多亮點,本文是在原文基礎上的進一步延伸。首先看一下分頁的基本原理 mysql explain ...

Mysql高效分頁

通常針對mysql大資料量的查詢採取 分頁 策略,但是如果翻頁到比較靠後的位置時查詢將變得很慢,因為mysql將花費大量的時間來掃瞄需要丟棄的資料。通常情況下,為了實現高效分頁,需要在查詢中where條件列和排序列應用組合索引。例如,建立索引 a,b,c 使得以下查詢可以使用索引,提高查詢效率 1 ...

構建高效的MySQL分頁

mysql分頁的主要目的就是提公升效率,今天我們將簡單介紹如何構建高效mysql分頁。首先看一下分頁的基本原理 limit 10000,20的意思掃瞄滿足條件的10020行,扔掉前面的10000行,返回最後的20行,問題就在這裡,如果是limit 100000,100,需要掃瞄100100行,在乙個...