使用DBLink查询远程数据库。现在我想加快查询速度,如何将索引添加到远程表中的几列。 如果有人可以提供任何建议,我将不胜感激。
答案 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)
您可以在远程数据库中创建索引,并以视图形式(当然在远程数据库中)构建查询。 这样远程数据库将使用他获得的所有方法(如索引)完成查询,并仅返回所需的结果。