Лучшая практика для работы с большими объемами данных - PullRequest
0 голосов
/ 14 августа 2010

Мне нужно много обработать в таблице, содержащей более 26 миллионов строк:

  1. Определить правильный размер каждого столбца на основе данных указанного столбца
  2. Определите и удалите повторяющиеся строки.
  3. Создать первичный ключ (идентификатор с автоматическим увеличением)
  4. Создать естественный ключ (уникальное ограничение)
  5. Добавление и удаление столбцов

Пожалуйста, перечислите свои советы о том, как ускорить этот процесс, и порядок, в котором вы будете делать список выше.

Большое спасибо.

ОБНОВЛЕНИЕ: не нужно беспокоиться о одновременных пользователях. Также в этой таблице нет индексов. Эта таблица была загружена из исходного файла. Когда все сказано и сделано, будут индексы.

ОБНОВЛЕНИЕ: Если вы используете список, отличный от того, что я перечислил, пожалуйста, не стесняйтесь упомянуть его.

На основании комментариев и того, что я нашел, сработало:

  1. Создать подмножество строк из 26 миллионов строк. Я обнаружил, что 500 000 строк работают хорошо.
  2. Удалить столбцы, которые не будут использоваться (если есть)
  3. Установите соответствующие длины типов данных для всех столбцов в одном сканировании, используя max (len ())
  4. Создать (уникальный, если возможно) кластерный индекс для столбцов / столбцов, который в конечном итоге станет естественным ключом.
  5. Повторите шаги 2-4 для всех строк

Ответы [ 2 ]

2 голосов
/ 14 августа 2010

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

Имейте в виду, что при изменении данных для этого также может потребоваться изменение индексов, включающих данные. Поэтому часто рекомендуется удалить индексы, если вы планируете вносить в таблицу большое количество обновлений, а затем добавить их снова.

0 голосов
/ 14 августа 2010

Заказ: 5, 2, 1, 3, 4

1: Обойти это невозможно: выберите Max (Len (...)) From ...

2: Все зависит от того, что вы считаете дубликатом.

3: ALTER TABLE в Books Online расскажет вам, как это сделать. Нет способа ускорить это, правда.

4: см. 3.

5: см. 3.

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