20億和20億的大表關聯如何優化?

2021-09-13 10:53:41 字數 1121 閱讀 3185

這樣就把 t1 和 t2的表的資料轉移到 p1 和 p2 表中了

那麼之前執行的 select * from t1,t2 where t1.object_id=t2.object_id

其實就等價於下面5個sql了

select * from p1,p2 where p1.object_id=p2.object_id and p1.hash_value=0 and p2.hash_value=0;

select * from p1,p2 where p1.object_id=p2.object_id and p1.hash_value=1 and p2.hash_value=1;

select * from p1,p2 where p1.object_id=p2.object_id and p1.hash_value=2 and p2.hash_value=2;

select * from p1,p2 where p1.object_id=p2.object_id and p1.hash_value=3 and p2.hash_value=3;

select * from p1,p2 where p1.object_id=p2.object_id and p1.hash_value=4 and p2.hash_value=4;

工作中,大表拆分為多少個分割槽,請自己判斷。

另外乙個需要注意的就是ora_hash函式

oracle中的hash分割槽就是利用的ora_hash函式partition by hash(object_id)

等價於 ora_hash(object_id,4294967295)ora_hash(列,hash桶)

hash桶預設是4294967295 可以設定0到4294967295ora_hash(object_id,4)

會把object_id的值進行hash運算,然後放到 0,1,2,3,4 這些桶裡面,

也就是說 ora_hash(object_id,4) 只會產生 0 1 2 3 4 有興趣的同學可以自己去測試速度。

生產庫採用這種優化方法,之前需要跑一天一夜的sql,在1小時內完成。

為了簡便,可以使用plsql編寫儲存過程封裝上面操作。

當然了,如果使用hadoop 或者 greenplum 有另外的優化方法這裡就不做介紹了。

貝索斯承諾投資20億美元用於土地恢復和糧食生產

techweb 11月4日訊息,據國外 報道,亞馬遜創始人傑夫 貝索斯承諾投入20億美元到 貝索斯地球 bezos earth fund 用於幫助恢復自然www.cppcns.com和改造食物系統。貝索斯承諾在本十年內向貝佐斯地球 投資100億美元抗擊氣候變化。他在周二的 cop26氣候大會上表示 ...

把小於20億以下的數字轉換成大寫輸出

main.m 蓋世天地 created by ibokan on 12 12 21.import void strclear char str void strclear char str int main int argc,const char argv 輸出時候用的。char s 30 求長度時...

年銷售1 5個億,他20年的努力沒有白費!!

歡顏特約 找機械人網 推出 中國製造2025 自動化行業 100 人物訪談 活動。特別感謝歡顏機械人對本欄目的贊助。面對面交流,領略全國自動化掌門人的創業風采。本期我們專訪的是美高工業器材 總經理盧熯。上海歡顏機械人,2017 年國產工業機械人本體銷售數量第一 國產焊接機械人市場占有率連續三www....