dblink的關聯與本地關聯差異
我的原創連線:
https://mp.weixin.qq.com/s/eHR4smuaxCYOYdMr4ADwKQ
首先申明,我反對不同主機之間的DBLink直接關聯。因為中間有網路層,這樣關聯效果較差。遇到這種場景和需求我通常會有如下幾個方案:
1、遷移到一起。
2、物化檢視。(需要透過DBLink)但是在本地落地。
3、OGG同步過來。
如果在同一主機上呢?這個比較特殊了,就比如說PDB之間。因為一個CDB上的多個PDB沒有跨網路。那麼這個畢竟不是本地表,這兩個差多少?
今天實驗一下。在一個PDB上建立兩個表t6和t67.在另外一個PDB上建立t7連線名是con。
t6 1w條資料
t67和遠端的t7表都是12w的資料。
每個表的ID都有索引。
set autotrace on 開啟跟蹤,執行下面的比較。
首先看本地表關聯
select * from t6 a,t67 b where a.id=b.id and a.id<101;
26個一致性讀(在記憶體)
106行
網路返回有一些資料為綠色框。
下面來看跨主機的dblink
select * from t6 c,t7@con d where c.id=d.id and c.id<101;
看到行數一樣。一致性讀少了(在記憶體)。但是多了一個遞迴呼叫。這就是DBLink產生的。可見沒有什麼明顯的改變。
那麼如果連線多個PDB呢?
再找了一個PDB,建立一個w表, 連線名是con2
select * from t6 c,t7@con d, w@con2 e where c.id=d.id and c.id=e.id and c.id<101;
發現一致性讀又少了,遞迴呼叫還是一個。這裡和我最初想的不一樣。我開始人為會有兩個。
所以最後結論。PDB直接的dblink和本地幾乎沒有差別。(我不敢說一模一樣),但是就這些資料來說,如果SQL寫的好,那都一樣好,如果SQL寫的差,那就一樣的差。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/637517/viewspace-2890235/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- “物聯網”與“聯網物”,到底有什麼差異?
- session與sessionStorage 關聯Session
- git與vscode關聯GitVSCode
- 《招標投標法》《政府採購法》中有關“聯合體”差異分析
- 表的關聯關係
- 物聯網與APP的關係?APP
- 關於模型關聯 獲取不到關聯資訊 求教模型
- Join關聯聯絡案例
- cad如何與dwg關聯win10_cad怎麼與dwg關聯win10Win10
- IDP 與 DevOps平臺:相似之處與關鍵差異dev
- Eloquent: 關聯
- 有關模型關聯的問題模型
- Hibernate 的關聯關係對映
- python 類關聯關係Python
- 論時間與!=EOF的絕對關聯
- 物聯網與erp軟體的關係
- config表與其他資料表的關聯
- SRE的含義及與 DevOps 如何關聯dev
- 【DBLINK】DBLINK域名問題及與global_name和db_domian的關係
- clion關聯vs
- 關聯表更新
- mybatis關聯關係對映MyBatis
- 多個異構資料庫如何關聯查詢資料庫
- 移動端與H5頁面畫素的差異與關係H5
- 模型關聯 一對一 獲取關聯模型例項模型
- 關聯資料的釋出與視覺化視覺化
- 區分關聯子查詢和非關聯子查詢
- 關於HTTP /1.1 與 /2.0版本的常見差異和特性HTTP
- BIRT 異構跨庫的動態關聯查詢怎麼做
- Windows檔案關聯Windows
- Jmeter關聯詳解JMeter
- ORM 跨庫關聯ORM
- idea--關聯SpringIdeaSpring
- Python 關聯處理Python
- 關聯物件總結物件
- MySQL關聯多表更新的操作MySql
- eclipse關聯java的原始碼EclipseJava原始碼
- 8 張圖掌握 Laravel 的 Eloquent 關聯關係Laravel