Sybase資料庫中的高效分頁方法

2021-08-30 21:04:49 字數 417 閱讀 5224

前段時間發博,sybase使用rank() over(order by id)ret的方式分頁,這種方式在資料量達到40w條的時候很耗時,大概5s的時間,當達到千萬條的時候,查詢一次大概是1分40秒,這就遠遠不符合專案要求了

對於這種方式,瓶頸可能是出在排序部分,當排序的唯一欄位是varchar型別的時候更加明顯

現在有種新的方式,就是利用rowid。

如:select a.* from table_name a where rowid(a) >=1 and rowid(a)<11

經測試,在同一張表中,1500w的資料量,每次查詢時間都在200ms以內

但是這個函式只能用在真實的資料表,無法在臨時表中用到;

這個rowid,是在資料插入的時候,資料庫給每行資料分配的物理唯一標識,如果要頁面中要用到動態排序,這個是不支援的。

Oracle資料庫查詢高效分頁

由於網頁渲染速度的影響,在c s程式中那種乙個grid包含幾千 上萬行的資料基本上在網頁是無法展現的,因此一般採用分頁的形式顯示 也可能採用visual srolling方式載入的,企業應用系統的不是很常見 asp.net 的資料控制項一般帶有分頁功能,3.5以後還提供了單獨的分頁控制項,也有用過a...

Oracle資料庫查詢高效分頁

由於網頁渲染速度的影響,在c s程式中那種乙個grid包含幾千 上萬行的資料基本上在網頁是無法展現的,因此一般採用分頁的形式顯示 也可能採用visual srolling方式載入的,企業應用系統的不是很常見 asp.net 的資料控制項一般帶有分頁功能,3.5以後還提供了單獨的分頁控制項,也有用過a...

Oracle資料庫查詢高效分頁

由於網頁渲染速度的影響,在c s程式中那種乙個grid包含幾千 上萬行的資料基本上在網頁是無法展現的,因此一般採用分頁的形式顯示 也可能採用visual srolling方式載入的,企業應用系統的不是很常見 asp.net 的資料控制項一般帶有分頁功能,3.5以後還提供了單獨的分頁控制項,也有用過a...