對數據庫中表的數據的 Web 顯示,如果沒有展現順序的需要,而且由于滿足條件的記錄如 此之多,就不能不對數據進行分頁處理。常經常使用戶其實不是對所有數據都感興趣的,或大部份情 況下,他們只看前幾頁。
通常有以下兩種分頁技術可供選擇。
1 2 3 4 5 6 7 | Select * from ( Select rownum rn,t.* from table t) Where rn>&minnum and rn<=&maxnum 或 Select * from ( Select rownum rn,t.* from table t rownum<=&maxnum) Where rn>&minnum |
看似類似的分頁語句,在響應速度上其實有很大的差別。來看1個測試進程,首先創建1個測試表。
1 | SQL> create table test as select * from dba_objects; |
并反復地插入相同數據。
1 | SQL> insert into test select * from test; |
最后,查詢該表,可以看到該表的記錄數約為 80 萬條。
1 2 3 4 | SQL> select count (*) |