2009-04-28 45 views
0

進出口尋找重寫代碼,在Sybase IQ數據庫V14,做如下更新表:最佳的更新

  1. 選擇表中的所有記錄,並提取了一些數據保存到文件
  2. 更新中提取表

到文件標記爲每個記錄目前,一旦記錄被寫入文件,其提取標誌被更新。目前表中有40 000條記錄,並且該進程使用40GB的數據庫臨時空間。問題表中的每個記錄包含60個字段,最多的列包含120個字符。

數據庫服務器是否爲表中的每條記錄創建表的新數據版本,並且隨着時間的推移,所以我們在數據庫服務器上創建了使用40GB帳戶的臨時數據滾雪球?最好的方法是處理數據以首先提取數據,將其寫入文件,然後執行批量更新。由於我的理解是,Sybase IQ通常用於競技場,因爲它認爲數據庫將針對插入和刪除進行優化,並在更新時進行選擇但性能嚴重不足。 sybase數據庫IQ服務器是否在HP-UX和Windows Server 2003上執行相同的操作。

回答

1

實際上,Sybase IQ針對讀取(考慮OLAP)進行了優化,而不是針對OLTP活動進行了優化 在我自己的測試中,我發現獲取數據到Sybase IQ走上加載數據將使用LOAD TABLE批量裝載命令最長

最快的方式