如何加快对无法添加索引的表的查询?

时间:2010-03-23 14:18:13

标签: sql oracle database-indexes

我通过DB Link远程访问多个表。它们非常标准化,每个数据都有效。在每个表中的数百万条记录中,只有约50k的子集是当前记录。

这些表由商业产品进行内部管理,如果我以任何方式添加索引或对其表进行更改,这将非常适合。

我有什么选择加快对这些表的访问?

6 个答案:

答案 0 :(得分:9)

您可以尝试通过数据库链接创建表的某个子集的materialized view,然后从这些表中查询。

答案 1 :(得分:6)

我认为你在这里的岩石和硬地之间陷入困境,但在过去,以下内容对我有用:

您可以按指定的时间间隔,每小时或每晚或其他任何工作情况下拉当前数据的快照,并根据需要将索引添加到您自己的表中。如果您需要实时访问数据,那么您可以尝试将所有当前记录拉入临时表并根据需要进行索引。

从一个数据库复制到您自己的数据库的额外开销可能会使实际收益相形见绌,但值得一试。

答案 2 :(得分:4)

您需要查看计划。您可以更改连接的顺序,添加条件或提供提示以使其更快,但如果没有解释计划,您不知道为什么它很慢,所以您甚至不知道如果您可以制作它更快。

答案 3 :(得分:2)

归档不再是最新的数据。 (或者如果这是不可接受的,那么超出某些适合您要求的陈旧阈值的数据。)

答案 4 :(得分:2)

您是否可以将您需要的记录每日转储到您自己的数据库/表中?

答案 5 :(得分:1)

创建物化/索引视图怎么样?这可能会有所帮助。

相关问题