Sybase IQ上结果集的最佳更新

时间:2009-04-28 17:49:45

标签: java sybase data-processing

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

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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