一.準備工作:
先要建立乙個資料庫:orcl_ysy,然後解鎖賬戶,建立dblink
alter
user scott identified by tiger;
alter
user scott account unlock ;
--授予orcl 下的yushaoyang001 dblink 許可權
grant
create
public
database link to yushaoyang001;
grant
drop
public
database link to yushaoyang001;
select * from user_sys_privs where privilege like upper('%database link%') ;
--如果密碼是數字開頭,用「」括起來
--建立dblink
create
public
database link scottlink connect
to scott identified by
"tiger"
using
'orcl_ysy';
--檢視dblink
select * from all_db_links;
drop
public
database link scottlink;
--在orcl_ysy下建立乙個
create
table oracl_sys_temp
asselect * from all_objects;
--insert為乙個大表
insert
into oracl_sys_temp
select * from oracl_sys_temp
-- 3560384
select
count(1) from oracl_sys_temp;
--在yushaoyang001訪問
select * from oracl_sys_temp@scottlink;
會發現產生事務了,此時需要commit或者rollback;
這種分布式事務是為了保持資料的一致性;
規律:當需要的資料都返回了,就不會產生要commit提示,否則就會產生commit提示。
如: select
count(1) from oracl_sys_temp@scottlink;不會出現;
具體參考:
二,開始說明
driving_site這個hint比較特別針對rbo也可以生效的;
driving_site(xx):指定在表xx所在的節點執行;此時xx所在的節點就相當於』本地』了;以此作為參照,另外的表就可看做』遠端』;
這裡有2個庫:乙個orcl的,賬戶為yushaoyang001,乙個庫為orcl_ysy,賬戶為scott,上面建立的dblink就是這個scott賬戶
--在yushaoyang001賬戶下建立表
等價於:
select /*+ driving_site(tt) */tt.* from tab1_temp tt,oracl_sys_temp@scottlink os
where tt.object_id=os.object_id;
可以看到cbo選擇了在本地節點tt執行,即將遠端資料os傳輸到本地,再走hash操作;
此時oracl_sys_temp 有3560384記錄,執行時間為4.585s左右;
此時主要是網路傳輸的消耗;
--現在強制走遠端節點,即把tab1_temp資料傳輸到oracl_sys_temp@scottlink所在節點執行,再返回結果;
select /*+ driving_site(os) */tt.*,os.object_name from tab1_temp tt,oracl_sys_temp@scottlink os
where tt.object_id=os.object_id;
再看乙個問題: driving_site 能不能跟其他hint一起用?
–情況1 在本地節點
可以發現hint已經生效,
但是仔細看,雖然use_nl(tt,os)指定了os作為被驅動表,但是實際來看沒有生效;於是要使用leading強制了
–情況2 指定在遠端節點
此時hint確實生效了;
說明了: driving_site可以跟use_nl及leading一起使用;
後話:在遠端表oracl_sys_temp加乙個索引,走nl更快;
小結:
1.通過remote對應的表和remote sql information以及注釋三個方面都可以判斷sql是在本地還是遠端執行,預設在本地節點執行;
2.如果本地表小,且返回的資料也小的話,強制走遠端節點訪問效率最好的;
3. driving_site可以跟use_nl及leading一起使用;
有哪些特點 極簡風格裝修有哪些特點
房子在裝修的時候,人們在裝修的風格上面都很重視,尤其是對極簡風格很受歡迎,但是有的人們不知道都有哪些特點,還有在裝修的時候,都有哪些方法,對這些都不太了解,那麼極簡風格裝修的特點有哪些?一.極簡風格裝修的特點 1.極簡風格裝修的特點之強調功能性,還有極簡裝修裝修風格特別強調功能性,注重材料 技術以及...
JS簡簡簡易時鐘
簡易時鐘 1 搭建html css部分 插入時鐘背景,使用子絕父相。把時針和分針 秒針的樣式放在時鐘的中心位置 2 js邏輯部分 1 獲取時針 分針 秒針 var hour document.getelementbyid hour var min document.getelementbyid mi...
List子類特點和Set子類特點
list的三個子類有vector,arraylist,linkedlist 特點 有序,可重複,有索引可以使用普通for迴圈遍歷 arraylist 底層資料結構是陣列,查詢快,增刪慢,執行緒不安全,效率高 vector 底層資料結構是陣列,查詢快,增刪慢,執行緒安全,效率低 linkedlist ...