日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

oracle 分组_大数据分组怎样才会更快

發(fā)布時(shí)間:2025/3/11 111 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle 分组_大数据分组怎样才会更快 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

分組是數(shù)據(jù)庫的常見運(yùn)算,無論數(shù)據(jù)如何準(zhǔn)備,通常都需要將所有數(shù)據(jù)遍歷。建立索引這時(shí)是不起作用的,存儲(chǔ)格式才是決定遍歷效率的主要因素。數(shù)據(jù)庫中數(shù)據(jù)的存放雖然是二進(jìn)制格式的,但普遍IO性能差,庫內(nèi)遍歷快,外部取數(shù)都很慢。

下面用Oracle來舉個(gè)例子,數(shù)據(jù)如下:

ORDERID CLIENT SELLERID AMOUNT ORDERDATE NOTE

1 287 47 5825 2013-05-31 gafcaghafdgie f ci…

2 89 22 8681 2013-05-04 gafcaghafdgie f ci…

3 47 67 7702 2009-11-22 gafcaghafdgie f ci…

4 76 85 8717 2011-12-13 gafcaghafdgie f ci…

5 307 81 8003 2008-06-01 gafcaghafdgie f ci…

6 366 39 6948 2009-09-25 gafcaghafdgie f ci…

7 295 8 1419 2013-11-11 gafcaghafdgie f ci…

8 496 35 6018 2011-02-18 gafcaghafdgie f ci…

9 273 37 9255 2011-05-04 gafcaghafdgie f ci…

10 212 0 2155 2009-03-22 gafcaghafdgie f ci…

實(shí)際數(shù)據(jù)量已經(jīng)超過了數(shù)據(jù)庫的最大內(nèi)存(數(shù)據(jù)總量為 25G,Oracle 可用的最大內(nèi)存為 12G)。使用Oracle的Parallel Execution來完成分組匯總,SQL大概這樣:

select /*+ Parallel(8) */ client,sellerid,count(orderid),sum(amount) from orders group by client,sellerid

這個(gè)SQL執(zhí)行耗時(shí):210秒。

同樣的環(huán)境、同樣的數(shù)據(jù),用集算器來處理,耗時(shí)約65秒,代碼如下:

后者速度快是因?yàn)槭褂昧思闫骷募?#xff08;二進(jìn)制文件)作為數(shù)據(jù)存儲(chǔ),正如之前提到的數(shù)據(jù)存儲(chǔ)格式直接影響遍歷的性能,關(guān)于存儲(chǔ)格式、特點(diǎn)、性能排名如下表:

存儲(chǔ)格式特點(diǎn)性能排名二進(jìn)制占用空間最小,解析最快1文本文本的好處是通用,但性能不好2數(shù)據(jù)庫也是二進(jìn)制,但普遍IO性能差,庫內(nèi)遍歷快,外部取數(shù)都很慢3

處理大量數(shù)據(jù)時(shí),性能優(yōu)化的第一步,往往是挑選合適的存儲(chǔ)格式。數(shù)據(jù)庫的存儲(chǔ)十分寶貴,為了節(jié)約存儲(chǔ),提高運(yùn)算性能,可將單純用作OLAP場景的那些數(shù)據(jù)搬到數(shù)據(jù)庫外部,使用更高性能的存儲(chǔ)格式存放數(shù)據(jù)。感興趣可以參考:性能優(yōu)化教案—遍歷

集算器還很容易嵌入到Java應(yīng)用程序中,Java如何調(diào)用SPL腳本有使用和獲得它的方法。

關(guān)于集算器安裝使用、獲得免費(fèi)授權(quán)和相關(guān)技術(shù)資料,可以參見如何使用集算器。

總結(jié)

以上是生活随笔為你收集整理的oracle 分组_大数据分组怎样才会更快的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。