" />

最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MyBatis游標(biāo)Cursor在Oracle數(shù)據(jù)庫上的測試方式

 更新時間:2024年01月27日 09:41:17   作者:isea533  
這篇文章主要介紹了MyBatis游標(biāo)Cursor在Oracle數(shù)據(jù)庫上的測試方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

測試數(shù)據(jù)的列更多,內(nèi)容更多,和 MyBatis游標(biāo)Cursor的正確用法和百萬數(shù)據(jù)傳輸?shù)膬?nèi)存測試 不同,占用內(nèi)存沒有可比性。

1.1. 不配置內(nèi)容,查詢?nèi)浚?9萬數(shù)據(jù)

內(nèi)存緩慢增長,12分鐘都沒有查詢完。

1.2. 初始2G內(nèi)存,最大4G內(nèi)存,fetchSize=10000

當(dāng)不設(shè)置fetchSize時,Oracle默認(rèn)10,內(nèi)存增長和1一樣緩慢,查看源碼發(fā)現(xiàn)Oracle默認(rèn)為10:

為了更快的測試出結(jié)果,這里設(shè)置10000。

  • 查詢過程耗時:54764ms
  • GC:20次
  • 占用內(nèi)存:1582MB

2.1. Cursor查詢,一條一條處理

默認(rèn)的fetchSize=10,內(nèi)容沒有持續(xù)增加,但是執(zhí)行時間仍然很長。

5分鐘沒有完成,直接終止運(yùn)行。

2.2 Cursor查詢,fetchSize=10000

  • 查詢過程耗時:49340ms
  • GC:36次
  • 占用內(nèi)存:164MB

2.3 Cursor查詢,fetchSize=1000,內(nèi)存限制20MB

  • 查詢過程耗時:124113ms
  • GC:4563次
  • GC耗時:73337ms
  • 占用內(nèi)存:19MB
  • 一半的時間在GC,吞吐量只有41%。

2.4 Cursor查詢,fetchSize=100,內(nèi)存限制20MB

  • 查詢過程耗時:390714ms
  • GC:4631次
  • GC耗時:95130ms
  • 占用內(nèi)存:18MB
  • GC耗時很長,吞吐量只有76%。

7分鐘才執(zhí)行完,

2.5 Cursor查詢,fetchSize=10000,內(nèi)存限制50MB

  • 查詢過程耗時:42044ms
  • GC:158次
  • GC耗時:173ms
  • 占用內(nèi)存:42MB

總結(jié)

除了上面的列出的幾種情況下,還試過多種不同的配置,耗時沒有比2.5更好。

除了MySQL中需要通過fetchSize = Integer.MIN_VALUE作為標(biāo)記開啟流式傳輸外,其他數(shù)據(jù)庫都是正常的用法,通過控制 fetchSize 大小來減少內(nèi)存占用和數(shù)據(jù)庫交互次數(shù)。

以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java jvm垃圾回收詳解

    Java jvm垃圾回收詳解

    這篇文章主要介紹了JVM的垃圾回收總結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-10-10
  • 淺談@RequestMapping注解的注意點(diǎn)

    淺談@RequestMapping注解的注意點(diǎn)

    這篇文章主要介紹了淺談@RequestMapping注解的注意點(diǎn),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02
  • 深入淺析java中flyway使用簡介

    深入淺析java中flyway使用簡介

    Flyway是獨(dú)立于數(shù)據(jù)庫的應(yīng)用、管理并跟蹤數(shù)據(jù)庫變更的數(shù)據(jù)庫版本管理工具。這篇文章主要介紹了flyway使用簡介,需要的朋友可以參考下
    2020-07-07
  • SpringBoot+Tess4j實(shí)現(xiàn)牛的OCR識別工具的示例代碼

    SpringBoot+Tess4j實(shí)現(xiàn)牛的OCR識別工具的示例代碼

    這篇文章主要介紹了SpringBoot+Tess4j實(shí)現(xiàn)牛的OCR識別工具的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • java中自帶有并發(fā)屬性的List總結(jié)

    java中自帶有并發(fā)屬性的List總結(jié)

    java中有很多l(xiāng)ist,但是原生支持并發(fā)的并不多,那么java中的并發(fā)list到底有哪些呢?下面小編就來給大家介紹一下ArrayList、CopyOnWriteArrayList、ConcurrentLinkedDeque這幾個吧
    2023-09-09
  • 由@NotNull注解引出的關(guān)于Java空指針的控制

    由@NotNull注解引出的關(guān)于Java空指針的控制

    這是一些很容易學(xué)會的簡單技術(shù),但是對于代碼質(zhì)量和健壯性來說確實(shí)很重要。以我的經(jīng)驗(yàn),僅是第一個小技巧就已經(jīng)對改進(jìn)代碼質(zhì)量具有很大的作用了
    2016-09-09
  • Java實(shí)現(xiàn)動態(tài)生成GIF圖像詳解

    Java實(shí)現(xiàn)動態(tài)生成GIF圖像詳解

    在互聯(lián)網(wǎng)上有許多有趣的場景,其中的一種就是動圖。這不是視頻,而是一種GIF圖像信息。本文將利用Java實(shí)現(xiàn)動態(tài)生成GIF圖像功能,需要的可以參考一下
    2022-09-09
  • 淺談Java中replace與replaceAll區(qū)別

    淺談Java中replace與replaceAll區(qū)別

    這篇文章主要介紹了Java中replace與replaceAll區(qū)別,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • 詳解JDK9特性之JPMS模塊化

    詳解JDK9特性之JPMS模塊化

    JDK9引入了一個特性叫做JPMS(Java Platform Module System),也可以叫做Project Jigsaw。模塊化的本質(zhì)就是將一個大型的項(xiàng)目拆分成為一個一個的模塊,每個模塊都是獨(dú)立的單元,并且不同的模塊之間可以互相引用和調(diào)用。本文將詳細(xì)介紹JDK9特性之JPMS模塊化。
    2021-06-06
  • 基于@Valid和@Validated驗(yàn)證List集合的踩坑記錄

    基于@Valid和@Validated驗(yàn)證List集合的踩坑記錄

    這篇文章主要介紹了基于@Valid和@Validated驗(yàn)證List集合的踩坑記錄,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07

最新評論

许昌县| 韶山市| 灵川县| 剑川县| 新津县| 日土县| 阜阳市| 安陆市| 五原县| 侯马市| 句容市| 曲沃县| 昌平区| 凤庆县| 乐平市| 卢湾区| 龙海市| 宜昌市| 普兰县| 长葛市| 安仁县| 固阳县| 荔浦县| 孝感市| 宜黄县| 密云县| 彭山县| 大新县| 内江市| 博兴县| 泾阳县| 东海县| 横峰县| 合江县| 奉化市| 尚志市| 呼伦贝尔市| 平南县| 酒泉市| 若尔盖县| 喀喇沁旗|