powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / 17. Используйте глобальные временные таблицы для быстрой вставки
15 сообщений из 15, страница 1 из 1
17. Используйте глобальные временные таблицы для быстрой вставки
    #39798518
Квази
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторДля ускорения вставки и обновления используйте временные таблицы (Global Temporary Table – GTT) для массовых вставок и последующего переноса данных в обычные таблицы.

а за счет чего достигается ускорение?
...
Рейтинг: 0 / 0
17. Используйте глобальные временные таблицы для быстрой вставки
    #39798525
Ivan_Pisarevsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При достаточном кол-ве ОЗУ данные не материализуются на диск. Как только данные доступны из SQL запросов внутри базы развязаны руки применить тот же мерж, например.
...
Рейтинг: 0 / 0
17. Используйте глобальные временные таблицы для быстрой вставки
    #39798535
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Квази,

автором данного совета являюсь я, поэтому поясню.

Если сравнивать простой случай, когда идёт массовый INSERT в одну табличку, то использование GTT не даёт никакого преимущества. Однако если ваш импорт более сложный, когда необходимо вставка или обновление или даже удаление в целевой базе, или же надо распихать записи по нескольким таблицам, или надо искать что-то в других таблицах БД в процессе импорта, то проще сначала слить данные в GTT, а потом делать сложные выборки, многократно пробегать курсором, использовать MERGE, обрабатывать ошибки и использовать другие вкусности.
...
Рейтинг: 0 / 0
17. Используйте глобальные временные таблицы для быстрой вставки
    #39798619
Квази
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисКвази,

автором данного совета являюсь я, поэтому поясню.


Понятно, спасибо.
...
Рейтинг: 0 / 0
17. Используйте глобальные временные таблицы для быстрой вставки
    #39798661
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Квази,

gtt все же дает преимущества даже при массовой вставке данных.

Дело в том, что версионность для задач типа "проливки" данных через сервер не очень подходит. Допустим, вставили 1млн записей, обработали, и теперь их надо удалять. При удалении возникнет миллион версий с признаком удаления, а потом, когда исходные записи станут мусором, его придется вычищать.

В GTT тоже может быть мусор, но по окончании работы с ГТТ они просто удаляются как файл, соответственно, никаких побочных эффектов в виде сборки мусора и лишнего места в БД не возникает.

Достаточно сравнить эту реализацию с реализацией GTT в InterBase - там ГТТ в базе.
http://www.ibase.ru/ib75temptables/
Как результат - либо тормоза (на сборку мусора) при первом коннекте, либо при дисконнекте. Плюс пухнет база из-за временных данных. Понятно, что потом-то это место освободится, но...

p.s. последние версии IB не проверял - остались ГТТ в базе, или они их вынесли в темп. файлы как в ФБ.
...
Рейтинг: 0 / 0
17. Используйте глобальные временные таблицы для быстрой вставки
    #39798671
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvпо окончании работы с ГТТ они просто удаляются как файл

Не удаляются. Не так давно был топик, вылившийся в CORE-6043.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
17. Используйте глобальные временные таблицы для быстрой вставки
    #39798680
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

там речь о COMMIT RETAIN
...
Рейтинг: 0 / 0
17. Используйте глобальные временные таблицы для быстрой вставки
    #39798689
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денистам речь о COMMIT RETAIN

Это в тикете, а в топике Влад объяснял, что один файл используется под все временные
таблицы и там мусор накапливается и собирается как обычно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
17. Используйте глобальные временные таблицы для быстрой вставки
    #39798690
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovНе удаляютсяОпять пальцем в небо
...
Рейтинг: 0 / 0
17. Используйте глобальные временные таблицы для быстрой вставки
    #39798692
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovЭто в тикете, а в топике Влад объяснял, что один файл используется под все временные
таблицы и там мусор накапливается и собирается как обычно.И это тоже половина правды.
...
Рейтинг: 0 / 0
17. Используйте глобальные временные таблицы для быстрой вставки
    #39798693
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

я не могу понять - ты намеренно врёшь или страдаешь от неудачных попыток кратко выражаться ?
Лучше вообще не выражаться в таком случае...
...
Рейтинг: 0 / 0
17. Используйте глобальные временные таблицы для быстрой вставки
    #39798733
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladя не могу понять - ты намеренно врёшь или страдаешь от неудачных попыток кратко выражаться ?

Скорее я страдаю от твоих попыток кратко выражаться. Я же не обкуренная пифия чтобы
интерпретировать твои оракулообразыне туманные намёки.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
17. Используйте глобальные временные таблицы для быстрой вставки
    #39798734
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov,

тогда рекомендую либо спрашивать, что неясно, либо лучше уж жевать
...
Рейтинг: 0 / 0
17. Используйте глобальные временные таблицы для быстрой вставки
    #39798735
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry SibiryakovЯ же не обкуренная пифияТы уверен ?
...
Рейтинг: 0 / 0
17. Используйте глобальные временные таблицы для быстрой вставки
    #39798754
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,

он больше не может (ц)
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / 17. Используйте глобальные временные таблицы для быстрой вставки
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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