мне нужно сделать много обработки на столе, который имеет 26+ миллионов строк:Лучшая практика для работы на больших объемах данных
- определить правильный размер каждого столбца на основе указанных данных столбца
- Определите и удалите повторяющиеся строки.
- Создать первичный ключ (автоматический инкрементацию идентификатор)
- Создать естественный ключ (ограничение уникальности)
- Добавление и удаление столбцов
Пожалуйста, перечислите ваши советы о том, как ускорить этот процесс и порядок в котором вы бы сделали список выше.
Большое спасибо.
UPDATE: не нужно беспокоиться о совместимых пользователях. Кроме того, в этой таблице нет индексов. Эта таблица была загружена из исходного файла. Когда все будет сказано и сделано, будут индексы.
ОБНОВЛЕНИЕ: Если вы используете другой список из того, что я перечислил, не стесняйтесь упомянуть его.
На основе замечаний до сих пор и то, что я нашел работал:
- Создать подмножество строк из 26+ миллионов строк. Я обнаружил, что 500 000 строк хорошо работают.
- Удалять столбцы, которые не будут использоваться (если таковые имеются)
- Установите соответствующие длины типов данных для всех столбцов в одном сканировании с использованием макс (Len())
- Создать (уникальный, если это возможно) кластерный индекс на колонке/столбцы, которые в конечном итоге станут естественным ключом.
- Повторите шаги 2-4 по всем строкам
Есть ли у вас беспокоиться о одновременных пользователей? Какова текущая структура таблицы, включая индексы? –
Это то, что я делаю для нашего процесса ETL. Мне не придется беспокоиться о других пользователях. –
Что вы будете использовать в качестве кластеризованного индекса?Каков типичный размер и типы данных столбцов, которые вы удаляете? –