С Новым годом! Форум программистов, компьютерный форум, киберфорум
Microsoft SQL Server
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
 Аватар для ember74
9 / 8 / 2
Регистрация: 07.10.2015
Сообщений: 510

Как перенести данные из одной таблицы в другую максимально быстро?

17.01.2020, 13:08. Показов 2977. Ответов 5

Студворк — интернет-сервис помощи студентам
Всем доброго времечка!

Господа, нужна ваша помощь

В базе есть таблица с неотформатированными данными (чуть больше 2 500 000 строк), нужно перенсти их в другую таблицу, предварительно отформатировав (форматирование и добавление происходит в хранимке). Теперь вопрос, как это сделать максимально быстро? Пробовал и через WHILE и через курсор, работает очень медленно... Может бысть вы знаете какие-нибудь хаки?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.01.2020, 13:08
Ответы с готовыми решениями:

Как перенести данные из одной таблицы в другую ?
Код таблицы продавец Create table Prodavec ( int, varchar(35) , Primary key (ID_Prodavec), ); Insert INTo Prodavec...

Перенести все строки из одной таблицы в другую
Это два файла истории ICQ. В одной старая история, во второй новая. Нужно объеденить, пытался вручную ICQ показывает что есть строки, но...

Триггер, добавляющий данные из одной таблицы в другую
Имеется 2 таблицы. Продажи и товары. Необходимо создать триггер, который при добавлении новой записи в таблицу с продажами, брал значение...

5
4217 / 3059 / 583
Регистрация: 21.01.2011
Сообщений: 13,203
17.01.2020, 13:32
Цитата Сообщение от ember74 Посмотреть сообщение
Может бысть вы знаете какие-нибудь хаки?
А INSERT ... SELECT чем не устраивает?
0
 Аватар для ember74
9 / 8 / 2
Регистрация: 07.10.2015
Сообщений: 510
17.01.2020, 13:42  [ТС]
Grossmeister, не совсем понял вопрос
инсерт используется в хранимке, и добавляет сразу в две таблицы, проблема в скорости..
0
1116 / 761 / 183
Регистрация: 27.11.2009
Сообщений: 2,272
17.01.2020, 14:05
Цитата Сообщение от ember74 Посмотреть сообщение
Grossmeister, не совсем понял вопрос
инсерт используется в хранимке, и добавляет сразу в две таблицы, проблема в скорости..
Добавляет по одной строке за раз? Представьте: в таблице миллиард строк - сколько надо времени, чтобы произвести миллиард вставок?
Фокус в том, что надо вставлять большими (но не слишком!) порциями строк. Например, тысяч по 10 в каждом INSERTе.
Проверяя, что на каждом шаге вставляются строки, которые ещё не вставлялись, разумеется.
0
8 / 5 / 3
Регистрация: 19.01.2015
Сообщений: 88
17.01.2020, 21:41
А можно эту процедуру увидеть?

Если таблица, в которую вставляют данные, не слишком активная в запросах, то перед вставкой можно "отключить" индексы. Только имейте в виду, что при "включении" они будут создаваться заново.

Как описали выше - лучше строки вставлять пакетами, например, по 10,000 строк.
0
 Аватар для ember74
9 / 8 / 2
Регистрация: 07.10.2015
Сообщений: 510
20.01.2020, 09:02  [ТС]
Всем спасибо за помощь! При обработке большого количества данных, важна каждая деталь. Я оптимизировал саму процедуру (удалил лишние переменные, конвертацию форматов, и еще кое-что), и все данные перенеслись в таблицу за 2 часа Это все равно много, да, но в разы лучше чем было!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.01.2020, 09:02
Помогаю со студенческими работами здесь

Как перенести базы MS SQL с одной машины на другую
Как перенести базы MS SQL 2000 с одной машины на другую

Как перенести большой объем данных из одной БД в другую?
Делаем сейчас data warehouse и нужно перенести большой объем данных из одной БД в другую. Бэкап - это не вариант. Т.к. нужно перенести...

Как перенести данные из одной таблицы в другую
Всем привет. Может кто помочь с таким вопросом? Задана база база данных "Газеты", требуется, чтобы в форме "Заказать...

Как перенести данные из одной таблицы в другую по условию
Здравствуйте, подскажите пожалуйста как можно перенести данные двух столбцов из одной таблицы в другую по совпадающему значение в поле...

Как перенести данные из одной таблицы в другую нажатием кнопки.
Как перенести данные из одной таблицы в другую нажатием кнопки. Есть данные в одной таблице (20 полей), и есть другая таблица (5 полей),...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
Расчёт токов в цепи постоянного тока
igorrr37 05.01.2026
/ * Дана цепь постоянного тока с сопротивлениями и напряжениями. Надо найти токи в ветвях. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа и решает её. Последовательность действий:. . .
Новый CodeBlocs. Версия 25.03
palva 04.01.2026
Оказывается, недавно вышла новая версия CodeBlocks за номером 25. 03. Когда-то давно я возился с только что вышедшей тогда версией 20. 03. С тех пор я давно снёс всё с компьютера и забыл. Теперь. . .
Модель микоризы: классовый агентный подход
anaschu 02.01.2026
Раньше это было два гриба и бактерия. Теперь три гриба, растение. И на уровне агентов добавится между грибами или бактериями взаимодействий. До того я пробовал подход через многомерные массивы,. . .
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru