Я столкнулся с проблемами при загрузке данных между внутренними таблицами SQL DW, и я пытаюсь загрузить только 50 записей, которые есть в моем источнике, но оператор Insert занимает очень много времени и не выполняется успешно [Он продолжает работать более 60 минут]
Немного статистики по этому поводу • Исходная таблица (скажем, S1) имеет 50 записей, 105 столбцов, столбцовое хранилище, циклическое распределение на DWU 100 [DDL этой таблицы приведен ниже] • Целевая таблица (скажем, T1) была создана с теми же 105 столбцами, Columnar Store, Round robin Distribution на DWU 100 • Выбрать 5 лучших * из S1 работает • Выбрать * из S1 работает • Вставить в T1, поскольку выбор * из S1 работает долгое время без ответа [более 60 минут] • Вставить в T1 как выбрать верхние 5 * из S1, работал один раз и не работал после этого • Вставить в T1 как выбрать верхние 5 all_columns_listed из S1, работает всегда и выполняется за ‹1 минуту • Вставить в T1 как выбрать верхние 30 all_columns_listed из S1, работает всегда и выполняется за ‹1 минуту • Вставить в T1 как выберите 50 лучших all_columns_listed из S1, выполняется более 25 минут
Я не могу понять, что может происходить в фоновом режиме - когда выполняется вставка в T1, поскольку выполняется select * from S1;
Что-то не так с DMS? или это потому, что у нас 105 столбцов?
Все вышеперечисленные операции были опробованы путем масштабирования до DWU 200 - но все равно безуспешно.
Все вышеперечисленные операции были опробованы на совершенно другой базе данных, но безуспешно.
Есть ли еще что-нибудь, что можно проверить на том, что происходит? Как с этим справиться?
Также я попытался запустить приведенный ниже оператор, чтобы увидеть - есть ли какие-либо другие активные запросы - которые могут приостановить мой оператор вставки или подождать ... но я мог видеть - только мой запрос активно выполнялся в БД ... выберите * из " sys "." dm_pdw_exec_requests ", где status = 'Выполняется' заказ по submit_time desc
Если вы загружаете данные в пустую таблицу, вам следует подумать об использовании _1_ (CTAS), а не _2_, чтобы DW мог полностью распараллелить операцию между узлами.