DBLINK HINT /*+ driving_site(org) */ 優化策略和思路

使用DBLINK遠程訪問數據庫的優化策略和思路:

策略:遠程訪問,網絡傳輸佔很大部分,優化原則,減少網絡傳輸,將小的結果集拉到本地處理;

思路1:在遠端建立視圖;

思路2:使用DRIVING_SITE將數據拉到本地處理;

出現這種執行計劃,主要原因是使用了db link,要想看到執行計劃,可以加 hint,如:
/+remote_mapping(db_link)/或/+driving_site(table_name)/

用法: /+driving_site(table_name)/ : table_name 一般是大表!

select /+driving_site(main)/ a.,b. from A.a main@BigTableDB,B.b minor where main.id=minor.id and .......

這樣一來就可以避免大表所在庫的全表掃描,查詢速度將成級數級提高。

解釋:

當指定 /+driving_site(main)/ 時, oracle將會從minor表獲取全部數據到main表所在的數據庫來進行關聯運算.(索引起作用,速度快)
若指定 /+driving_site(minor)/ 時, oracle將會從main表獲取全部數據到minor表所在的數據庫來進行關聯運算.(索引失敗,全表掃描)

來自 “ ITPUB博客 ” ,鏈接:http://blog.itpub.net/30345407/viewspace-2150410/,如需轉載,請註明出處,否則將追究法律責任

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章