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

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

17.01.2020, 13:08. Показов 2968. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru