Я загрузил огромный набор данных CSV - отфильтрованные данные об использовании Eclipse с использованием COPY PostgreSQL, и он занимает огромное количество места, потому что он не нормализован: три столбца TEXT гораздо более эффективно реорганизуются вотдельные таблицы, на которые нужно ссылаться из основной таблицы с помощью столбцов внешнего ключа.
Мой вопрос: быстрее ли выполнить рефакторинг базы данных после загрузки всех данных или создать нужные таблицысо всеми ограничениями, а затем загрузить данные?Первая включает в себя многократное сканирование огромной таблицы (около 10 ^ 9 строк), в то время как вторая предполагает выполнение нескольких запросов для каждой строки CSV (например, был ли виден этот тип действия ранее? Если нет, добавьте его в таблицу действий, получите егоID, создайте строку в главной таблице с правильным идентификатором действия и т. Д.).
В настоящее время каждый шаг рефакторинга занимает примерно день или около того, а первоначальная загрузка также занимает примерно то же время.