海量數據高性能分頁

海量數據高性能分頁數據庫

 

條件:主鍵必須爲自增數形式……大部分數據庫都知足此形式……緩存

若是A表主鍵不是自增長形式,能夠新建一個C表,將主鍵設爲自增,把內容設爲A表主鍵……這樣就至關於作了個適配接口……HH..查詢的時候先查C表,獲得分頁的A表主鍵,而後拿這些主鍵再查A表,性能就大大提高了。ide

 

通常的分頁都須要兩次TOP語句,這樣性能有問題,面對海量數據……訪問數據庫讀取Count(*)條數,這個總條數能夠緩存起來,沒必要每次都查庫……性能

 

不走1:將表主鍵所有連續起來。若是主鍵不連續,從新創建此列,設下索引連續起來。spa

不走2:由於主鍵都是數字ID自增。因此分頁只須要計算ID值就能夠了。索引

不走3:好比讀取分頁5的內容,pagesize10……則只用如下SQL語句就能夠了。接口

 

start =(5-1)*10=40;it

 end=5*10=50;table

Select  * from table where id>40 and id<50class

 

注意:若是表中由於CRUD而不連續,若是不太嚴重,也能夠不用管,就是有時候查的時候可能每頁記錄數曾參不齊……可是並不影響體驗……若是ID不少都不連續了,最好是從新排一下ID.

相關文章
相關標籤/搜索