Я ищу переписать код, который обновляет таблицу в базе данных Sybase IQ v14 и выполняет следующие действия:
- выбирает все записи в таблице и извлекает некоторые данные в файл
- обновляет извлеченный в файл флаг для каждой записи в таблице
В настоящее время, когда запись записывается в файл, ее флаг извлечения обновляется. В настоящее время в таблице содержится 40 000 записей, и процесс использует 40 ГБ временного пространства базы данных. Каждая запись в рассматриваемой таблице содержит 60 полей и не более столбцов содержит 120 символов.
Создает ли сервер базы данных новую версию данных для таблицы для каждой записи в таблице и с течением времени, и поэтому мы создаем снежный ком временных данных на сервере базы данных с учетными записями для используемых 40 ГБ? Будет ли лучший метод для обработки данных, чтобы сначала извлечь данные, записать их в файл, а затем выполнить массовое обновление. Так как я понимаю, что Sybase IQ обычно используется на арене, я думаю, что база данных будет оптимизирована для вставки, удаления и выбора, но плохо работает при обновлениях? Будет ли сервер базы данных Sybase IQ работать одинаково на HP-UX и Windows Server 2003.