powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Трансфер большого к-ва записей и транзакции
4 сообщений из 4, страница 1 из 1
Трансфер большого к-ва записей и транзакции
    #33538279
Фотография Ursego
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я пришёл из мира Оракла (вернее, ненадолго зашёл), так что многое кажется непривычным - не взыщите...

В общем, надо перегнать почти миллион записей из одной таблицы в другую. Написал курсор, перед его открытием начинаю транзакцию ("begin transaction") и каждые 10 тысяч оборотов делаю "commit" и новый "begin transaction" чтоб не переполнить буффер отката (плюс "commit" в конце, обработку ошибок оставим). А вопрос вот в чём: если вообще не возиться с транзакциями (т.е. будет автоматический "commit" после каждого INSERT-а), как это повлияет (и повлияет ли вообще) на производительность, и какие ещё могут быть подводные камни? Спасибо!

Using ASE 15.

ПС. Если б я правил миром, то ввёл бы одну базу данных - не важно какую. На фига их расплодили вместо объединения усилий для создания одной, но лучшей? Тем более что они на 95% из одной глины слеплены...
...
Рейтинг: 0 / 0
Трансфер большого к-ва записей и транзакции
    #33538856
Guest04
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если это ASE, если это разовая операция, если таблицы одианаковой структуры то используй bcp (выгрузка - загрузка) и не парься.
Ну и дополнительных вопросов "море": есть ли identinity или BLOB в исходной таблице, тригеры, ссылки ....

Всему сообществу ASE: это строго IMHO
...
Рейтинг: 0 / 0
Трансфер большого к-ва записей и транзакции
    #33539687
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше всего сделать
Код: plaintext
1.
2.
3.
4.
5.
'
select ...
into new_table
from old-table
where ...

Это позволяет не сохранять в логе сами данные, а сохряняются при этом только само выделение страниц данных.

Или аналогично можно сделать через BCP (уже вроде бы про это сказали).

А так - идеальный размер транзакции - это такие, которые заполняют одну страницу лога (4к байт). Теоретически расчитать сколько записей должно быть в одной транзакции достаточно сложно, если вообще возможно. Так что можно только подгонять, измеряя производительность (есть там определенные показатели), либо просто поставить "на шару".
Т.е. транзакции должны быть не микроскописечкими, но небольшими, причем лучше ошибиться в большую, чем в меньшую сторону.
...
Рейтинг: 0 / 0
Трансфер большого к-ва записей и транзакции
    #33544316
Vlad_5181
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если используется PowerBuilder, то есть очень простое средство Data Pipeline.

Вообще, вариантов масса.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Трансфер большого к-ва записей и транзакции
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]