例如:總記錄數為totalrow,每頁顯示數為pagesize,現在要求總頁數totalpage
1 常用方法:整除,判斷餘數,餘數大於0,整除結果加1。
if(totalrow%pagesize==0)
totalpage=totalrow/pagesize;
else
totalpage=totalrow/pagesize+1;
這種計算方法,會導致程式先取餘數,再比較是否有餘數,再進行整除操作,然後再進行相加操作
2 今天無意間發現還有另外一種計算方式(以前沒怎麼多想)
totalpage=(totalrow+(pagesize-1))/pagesize
由於餘數最小為1,那麼先加上最大的餘數(pagesize-1)後,只要totalrow/pagesize餘數不為0,(totalpage+(pagesize-1))/pagesize的結果一定會比totalrow/pagesize大1;否則結果相等;此計算公式結果和方法1中結果一致,但是寫法簡單,無需bool判斷,而且整除或者取餘數操作只進行了一步,相對來講效率有所提公升,效率比較**
long t1=system.currenttimemillis();
for(int i=0;i<10000;i++)else
} long t2=system.currenttimemillis();
for(int i=0;i<10000;i++)
long t3=system.currenttimemillis();
system.out.println("時間間隔:方法一耗時["+(t2-t1)+"]ms\t方法二耗時["+(t3-t2)+"]ms");
連續執行4次,執行結果:
時間間隔:方法一耗時[277]ms 方法二耗時[223]ms
時間間隔:方法一耗時[281]ms 方法二耗時[256]ms
時間間隔:方法一耗時[335]ms 方法二耗時[248]ms
時間間隔:方法一耗時[281]ms 方法二耗時[215]ms
儲存過程返回記錄總數
在網上找了很長時間,經過個人總結,終於得到如願的 create procedure recordcount tablename nvarchar 100 strwhere nvarchar 500 as declare flag int declare sqlstr nvarchar 1000 se...
獲取表的記錄總數
select rows from sysindexes where id object id n tablename and indid 2 該方法獲取表的記錄總數的速度非常快,在毫秒級就可以完成,相比select count 要快上數萬倍,但是 大家在運用該方法是一定要主要,該方法得到的表的總記錄...
獲取表的記錄總數
select rows from sysindexes where id object id n tablename and indid 2 該方法獲取表的記錄總數的速度非常快,在毫秒級就可以完成,相比select count 要快上數萬倍,但是 大家在運用該方法是一定要主要,該方法得到的表的總記錄...