我正在寻找重写代码来更新Sybase IQ数据库v14上的表的功能,该功能执行以下操作:
选择表中的所有记录并提取一些数据到文件
更新表中每个记录的提取到文件标志
当前,一旦将记录写入文件,其提取标志就会更新。当前,表中有4万条记录,该进程使用40GB的数据库临时空间。有问题的表中的每个记录包含60个字段,最多一列包含120个字符。
数据库服务器是否正在为表中的每个记录以及随着时间的流逝为该表创建新版本的数据,因此我们在数据库服务器上使用了40GB的帐户创建了临时数据滚雪球?将是处理数据的最佳方法,以首先提取数据,将其写入文件,然后执行批量更新。因为据我了解,Sybase IQ通常用于竞技场,所以我认为数据库将针对插入,删除和选择进行优化,但对更新的执行效果不佳? sybase数据库IQ服务器将在HP-UX和Windows Server 2003上执行相同的操作。
最佳答案
实际上,Sybase IQ针对读取(针对OLAP)进行了优化,而对于OLTP活动则没有那么多
在我自己的测试中,我发现将数据导入Sybase IQ花费的时间最长
加载数据的最快方法是使用LOAD TABLE bulk load命令
关于java - Sybase IQ上结果集中的最佳更新,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/799107/