将索引添加到远程表中的列 - Oracle

时间:2011-07-29 06:52:09

标签: sql oracle indexing dblink

使用DBLink查询远程数据库。现在我想加快查询速度,如何将索引添加到远程表中的几列。 如果有人可以提供任何建议,我将不胜感激。

5 个答案:

答案 0 :(得分:3)

您可以使用远程数据库上的DBMS_JOB或DBMS_SCHEDULER程序包来计划作业,执行DDL。

但是考虑一下,如果Oracle在数据库链接上抛出DDL异常,那么它必须有充分的理由,对吗?您不希望任何人通过数据库链接远程处理您的架构。因此,请与远程DBA交谈并尝试与他/她一起找出解决方案。

答案 1 :(得分:2)

无法通过dblink完成(即使您的dblink使用拥有的架构),您将看到

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

答案 2 :(得分:2)

您可以根据查询在远程数据库中创建一个实体化视图,向其中添加您喜欢的索引,然后,如果需要,为该实体化视图创建一个同义词。

答案 3 :(得分:1)

约翰, 一个好的起点是以下关于“调整分布式查询”的Oracle文档。

http://download.oracle.com/docs/cd/B28359_01/server.111/b28310/ds_appdev004.htm

答案 4 :(得分:1)

您可以在远程数据库中创建索引,并以视图形式(当然在远程数据库中)构建查询。 这样远程数据库将使用他获得的所有方法(如索引)完成查询,并仅返回所需的结果。