Как дорого выбрать отдельный * запрос

В SQL Server 2012 у меня есть таблица с более чем 25 миллионами строк с дубликатами. Таблица не имеет уникального индекса. Он имеет только некластеризованный индекс. Я хотел устранить дубликаты, и поэтому я думаю о следующем

select distinct * into #temp_table from primary_table
truncate primary_table
select * into primary_table from #temp_table

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

4 голоса | спросил sunil_mlec 4 MaramTue, 04 Mar 2014 09:35:38 +04002014-03-04T09:35:38+04:0009 2014, 09:35:38

1 ответ


0

Я не знаю, насколько это дорого, но альтернативный способ - создать еще одну таблицу с первичным ключом, вставить туда все данные и молча отклонить дубликаты, как указано здесь

http://web.archive.org/web/20180404165346/http://sqlblog.com:80/blogs/paul_white/archive/2013/02 /01/a-creative-use-of-ignore-dup-key.aspx

в основном, используя IGNORE_DUP_KEY

ответил Leo 4 MaramTue, 04 Mar 2014 09:40:25 +04002014-03-04T09:40:25+04:0009 2014, 09:40:25

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132