0

我希望重写代码以更新 Sybase IQ 数据库 v14 上的表,该数据库执行以下操作:

  1. 选择表中的所有记录并将一些数据提取到文件中
  2. 更新表中每条记录的提取到文件标志

目前,一旦将记录写入文件,其提取标志就会更新。目前表中有 40 000 条记录,该进程使用 40GB 的数据库临时空间。相关表中的每条记录包含 60 个字段,最多列包含 120 个字符。

数据库服务器是否为表中的每条记录创建了新版本的数据,并且随着时间的推移,我们在数据库服务器上创建了一个临时数据雪球,其中使用了 40GB 的帐户?处理数据的最佳方法是首先提取数据,将其写入文件,然后执行批量更新。由于我的理解是 Sybase IQ 通常用于竞技场,我认为数据库会针对插入、删除和选择进行优化,但在更新时表现不佳?sybase 数据库 IQ 服务器是否会在 HP-UX 和 Windows server 2003 上执行相同的操作。

4

1 回答 1

1

实际上 Sybase IQ 针对读取进行了优化(想想 OLAP),而不是针对 OLTP 活动优化 在我自己的测试期间,我发现将数据输入 Sybase IQ 花费的时间最长

加载数据的最快方法是使用LOAD TABLE批量加载命令

于 2009-04-28T18:08:48.087 回答