日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

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

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

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

下面用Oracle來(lái)舉個(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)超過(guò)了數(shù)據(jù)庫(kù)的最大內(nèi)存(數(shù)據(jù)總量為 25G,Oracle 可用的最大內(nèi)存為 12G)。使用Oracle的Parallel Execution來(lái)完成分組匯總,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ù),用集算器來(lái)處理,耗時(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ù)庫(kù)也是二進(jìn)制,但普遍IO性能差,庫(kù)內(nèi)遍歷快,外部取數(shù)都很慢3

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

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

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

總結(jié)

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

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