2011-07-29 33 views
0

正在使用DBLink查詢遠程數據庫。現在我想知道如何加快查詢的速度,我如何將索引添加到遠程表中的幾列。 如果有人能提供相同的建議,我們將不勝感激。將索引添加到遠程表中的列 - Oracle

+3

誰擁有數據庫?除非您擁有數據庫,否則不能隨意添加索引。 索引並不總是答案。 – c0deNinja

+0

用於指定索引的+1並不總是答案。在涉及數據庫鏈接的地方,有許多用於調整查詢的選項,並不都涉及索引。 – Ollie

+0

John C,你可以發佈更多關於你在遠程數據庫上執行的查詢的信息,然後你會得到更多的選擇來改善響應時間。 – Ollie

回答

3

您可以在遠程數據庫上使用DBMS_JOB或DBMS_SCHEDULER包來安排作業,執行DDL。

但是考慮這個,如果Oracle在數據庫鏈接上拋出一個DDL異常,那麼肯定有一個很好的理由,對吧?您不希望任何人通過數據庫鏈接遠程混淆您的模式。相反,與遠程DBA交談並嘗試與他/她找出解決方案。

2

它不能在DBLINK(即使你的DBLINK使用所屬架構)來完成,你會看到

ORA-02021: DDL operations are not allowed on a remote database 
2

你可以基於查詢中的遠程數據庫中創建一個物化視圖,加您的首選索引,然後,如果您需要,請爲該物化視圖創建一個同義詞。

1

,你可以在遠程數據庫中創建索引,並在視圖的形式建立查詢(當然在遠程數據庫)。 這種方式遠程數據庫將使用他得到的所有方法(如索引)完成查詢並將您只返回想要的結果。