【发布时间】:2013-02-15 00:28:24
【问题描述】:
我有一个相当大的与订单管理相关的业务应用程序,其数据在 Oracle 数据库中。
所有数据都可以与订单相关。 现在,数据量很大,表中有数百万条记录 - 从而降低了我的应用程序 SQL 查询速度。
我正在计划我的主要“订单模式”的副本模式,例如“归档订单模式”。 并编写 SQL 查询以将(旧订单)数据从主模式移动到存档模式,一次一个(旧)订单。
但是 SQL 查询非常慢,并且移动(旧)订单的所有数据(跨这么多表)需要很长时间。
欢迎任何设计/方法/优化输入。
【问题讨论】:
-
如果您有适当的索引等,数据量不应该是您的应用程序的单个 prder 处理的主要问题。您是否确定了缓慢的位置和原因?分区合适吗?为什么要一次移动一张唱片,而不是一次移动,或者至少分批移动?
-
我和@AlexPoole 在一起,我自己有一个 500GB 的数据库表,其中包含数十亿行,但是我的所有 SELECT 查询都在 20 毫秒内返回,因为我有良好的索引。如果您想存档数据以节省空间,那很好 - 但这样做是为了提高性能意味着您可能做错了什么。
-
数百万行不被视为“巨大”。如今,它通常甚至不被认为是“大”。
标签: sql database oracle archive