0

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

4

5 回答 5

3

您可以在远程数据库上使用 DBMS_JOB 或 DBMS_SCHEDULER 包来安排作业,执行 DDL。

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

于 2011-07-29T08:51:55.487 回答
2

它不能通过 dblink 完成(即使您的 dblink 正在使用拥有的架构)您会看到

ORA-02021: DDL operations are not allowed on a remote database
于 2011-07-29T07:35:59.333 回答
2

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

于 2011-07-29T08:27:00.303 回答
1

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

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

于 2011-07-29T10:54:23.303 回答
1

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

于 2011-07-29T11:59:31.737 回答