Member 12637959 Ответов: 1

Как вставить очень быстро большой объем данных, в то время как принимать его, как .sql-файл?


Используя приведенную ниже команду, вы импортируете данные в таблицу sql, используя командную строку, которую мы можем использовать.

sqlcmd-s server\MYSQLSERVER-d demo-U Test -P test234-i C:\Users\rja\Desktop\Ra\dbo.WebBP. sql

Он работает нормально.

Если размер файла*. sql превышает 3 ГБ. Требуется время, чтобы вставить больше половины дня.

Но мне нужно вставить его немедленно.

Пожалуйста, кто-нибудь, помогите мне.

Что я уже пробовал:

Я попробовал импортировать данные в sql server. Но это не работает.

Richard Deeming

Возможно, вы сможете повысить производительность, изменив запрос в своем .sql файл или путем настройки индексов в вашей базе данных.

Но я сомневаюсь, что вы когда-нибудь сможете загрузить и вставить файл объемом 3 ГБ немедленно Просто считывание такого количества данных в память, а затем передача их по сети в SQL займет заметное количество времени.

Afzaal Ahmad Zeeshan

Сделайте то, что сказал Ричард, или купите мощный компьютер.

Dave Kreskowiak

Что там внутри .SQL-файл? Откуда взялся этот файл? Есть ли у вас контроль над его поколением?

Если это просто куча инструкций INSERT, вы можете отказаться от них и использовать SSIS для массовой вставки данных.

Нет никакого способа на Земле, которым вы когда-либо получите "мгновенную" вставку такого количества данных.

1 Ответов

Рейтинг:
1

Patrice T

Предполагая, что горлышко бутылки является сетевым переносом во время добавления базы.
Вы можете использовать метод 2 шагов.
1) создайте базу "импорта" с правильной структурой на сервере.
2) скопируйте ваши данные из клиента в базу импорта на сервере.
3) Добавьте базу "импорт" к реальной базе (данные уже локальны)
4) удалить базу "импорт"
Это позволяет избежать медленного сетевого переноса во время добавления в базу данных.