Производительность вставки из одной таблицы в другой сервер SQL - PullRequest
1 голос
/ 27 июня 2019

Помогите, пожалуйста, в вопросе производительности ниже.

У меня есть таблица A с 920 миллионами строк (размер таблицы 67 ГБ), а в таблице A нет индексов или ключей.

Теперь яЯ хочу скопировать всю таблицу A в таблицу B, она находится в другой базе данных в том же экземпляре, и я следовал приведенным ниже способам выполнения этой задачи.

Вариант 1:

Я использовал select * into db..table B иэто занимает 70 минут.

Вариант 2:

Пробовал с " Вставить с оператором выбора " вместе с TABLOCK, чтобы включить минимальное ведение журнала (Но обе мои базы данныхв простой модели восстановления), и это также заняло то же время, что и в варианте 1.

Вариант 3:

Думая об однократном вводе 10 миллионов раз.

Таблица A и таблицаУ бота есть любой индекс, ключи.

Запрос:

insert into TableB with(TABLOCK)
select 
AUTO_POLICY_NUMBER,
HOME_POLICY_NUMBER,
TRANSACTION_MM,
TRANSACTION_DD,
TRANSACTION_YY,
ANTICIPATION_MM,
ANTICIPATION_DD,
ANTICIPATION_YY,
STATUS_MM     ,
STATUS_DD     ,
STATUS_YY     ,
PRESENT_STATUS,
PRIOR_STATUS  ,
LoadDate              ,
RecordId              ,
AuditTableLoadId      ,
CopybookId   
 From TableA

Может кто-нибудь из вас предложить другие варианты, чтобы моя загрузка данных была гладкой (меньше времени).

Примечание: - Мой сервер имеет 16 ГБ ОЗУ с процессором Intel (R) Xeon (R) E5-2670 0 @ 2,60 ГГц, 2593 Мчz, 2 ядра, 2 логических процессора.

Спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...