成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺析:Oracle jdbc分頁效率的測試

數據庫 Oracle
經過長時間學習Oracle,現在就關于Oracle jdbc分頁效率的測試和大家分享一下,希望看完本文的你肯定有不少收獲。

經過長時間學習Oracle,現在就關于Oracle jdbc分頁效率的測試和大家分享一下,希望看完本文的你肯定有不少收獲。

先寫了一個最簡單的jdbc分頁測試,在100萬記錄的情況下對數據庫進行absolute定位操作,從20萬開始取1頁記錄大約是5秒,但是再往上面加,比如40萬開始就內存溢出了。這就說明oracle的jdbc在用absolute的時候確實是要逐行讀取數據的。另外發現,設置fetchsize ,速度會有10%左右的提高。

然后改用oracle 自身的 rownum的方式進行分頁測試.

  1. SELECT * FROM (SELECT A.*, ROWNUM RN FROM (SELECT * FROM demo_table) A WHERE ROWNUM <= 200010) WHERE RN >= 200000  

 執行速度確實快了一些, 大約在2-3秒之間。但是這種方式應該是越到后面越慢,果然從90萬位置開始取, 大約是在13秒左右。這樣一來,修改實現方式好像就是必須的了, 但是奇怪的是,使用ibatis的分頁并沒有什么內存溢出的問題,100萬記錄到最后一頁,感覺上大概也是10多秒。

看了一下ibatis的queryForList這個方法, debug了一下, 發現他有個判斷, 對于forward_only的類型的resultset 是用循環next來定位的(記得以前自己的分頁實現里面為了兼容性也做了這樣的處理),而不是我誤以為的absolute方式。

看來oracle的jdbc 對于forward_only的resultset做 next方法是不會產生真正的讀取操作。 用jdbc 測試了一下,果真如此。 從90萬記錄開始取,沒有出現內存溢出的問題,執行時間大約22秒左右。不知道這種差別在mysql和db2上是否也是如此,下次有時間再做一個測試看看。至于next和rownum執行效率的差距, 我估計是前者必須用游標順序定位。

現在的問題就是, 兩者比較, 執行時間只相差一倍而已,還是一個數量級別的,就為了這個做修改,還導致sql不可以跨數據庫,好像一點都不值得。甚至如果用戶不直接翻到最后幾頁,根本感覺不到速度差別。后來想想,老外有時候也是腦子壞了, 什么樣的項目會需要你沒事去翻上百萬記錄。還是保持原狀,丟在哪再說吧

測試環境:oracle9i 2版, 西文字符集。沒對其他參數進行測試。

以上就Oracle jdbc分頁效率的測試講了個簡單的例子,要想了解的更多相關問題的解決方案,請留意51cto.com站上的相關帖子。

【編輯推薦】

  1. 修改Oracle存 儲過程所需代碼
  2. 對Oracle存儲過程的總結
  3. 實現Oracle存 儲過程的實際應用的代碼 
  4. 深入高性能的 Oracle動態SQL開發 
  5. Oracle SQL的 優化規則解析 
責任編輯:佚名 來源: 老菜鳥的筆記本
相關推薦

2009-07-22 15:58:34

JDBC調用Oracl

2009-06-19 15:08:23

JDBC驅動

2009-06-19 17:14:47

JDBC驅動設置

2009-03-04 13:32:28

排序SQLOracle

2021-05-13 07:58:05

JDBC接口PreparedSta

2009-09-21 18:13:11

Hibernate S

2009-09-23 10:19:08

Hibernate分頁

2009-06-19 15:28:31

JDBC分布式事務

2009-07-14 16:02:42

JDBC例子

2009-07-07 09:38:37

ServletQuer

2010-04-16 14:39:54

ORACLE鎖

2009-12-23 09:04:41

LINQ通用分頁

2010-04-14 14:14:42

Oracle用戶解鎖

2010-04-14 15:22:53

Oracle JDBC

2009-07-22 11:11:39

iBATIS分頁實例ObjectDataS

2011-10-20 13:37:46

OracleNoSQL數據庫

2010-01-27 15:46:15

學習C++效率

2021-10-29 05:53:51

前端測試開發代碼

2010-11-18 13:32:12

Oracle分頁查詢

2009-07-20 15:51:45

JDBC連接Oracl
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 免费看色 | 欧美日韩一区二区电影 | 久久精品免费 | 激情麻豆视频 | 中文字幕精品一区久久久久 | 久久伊人精品一区二区三区 | 在线播放国产一区二区三区 | 999国产视频 | 成人精品国产免费网站 | 天天澡天天狠天天天做 | 台湾佬伊人| a级黄色网| 欧美福利视频 | 午夜视频在线免费观看 | 天天干天天玩天天操 | 欧美一区二区在线看 | 婷婷色国产偷v国产偷v小说 | 黄色福利 | 久久综合九色综合欧美狠狠 | 91成人精品 | 国产91久久久久久久免费 | 欧美一区二区三区在线观看 | 国产一级在线 | 中文字字幕在线中文乱码范文 | 成人在线小视频 | 在线中文一区 | 亚洲成色777777在线观看影院 | 亚洲一二三区精品 | 国精日本亚洲欧州国产中文久久 | 精品无码久久久久久国产 | 亚洲免费人成在线视频观看 | 99tv| www国产成人免费观看视频 | 国产一区| 成人在线中文字幕 | 久久午夜电影 | 成人在线精品视频 | 99国内精品久久久久久久 | 91av视频在线 | 国产露脸对白88av | 91嫩草精品|