Импорт только сопоставленных данных из CSV в MySQL

#mysql #sql #csv

#mysql #sql #csv

Вопрос:

мне нужно импортировать некоторые данные из очень огромного файла csv, который составляет около 1 ГБ.

вместо того, чтобы импортировать все, я хочу просто импортировать сопоставленные данные, я думаю, это будет проще и быстрее, чем импортировать все данные.

мне нужно выполнить поиск в столбце «Почтовый индекс округа» файла CSV, если он содержит LS1 или LS2 или LS10, импортировать сопоставленные данные в tabel в SQL?

Ответ №1:

Заблуждение. Вы думаете, что фильтрация текстового файла по таблице базы данных будет быстрее, чем просто загрузка всего файла в базу данных.

Я поддерживаю, что есть крайние случаи, когда это может быть правдой. Но, в целом, самый безопасный способ справиться с подобными ситуациями — это:

  • Импортируйте файл в промежуточную таблицу.
  • Добавьте индексы, по мере необходимости, в промежуточную таблицу для повышения производительности.
  • Запустите запрос, чтобы скопировать нужные данные из промежуточной таблицы.

Я мог бы сформулировать это по-другому. За то время, которое вам потребуется, чтобы понять, как эффективно объединить информацию из файла и таблицы базы данных, вы, вероятно, могли бы повторить описанный выше процесс 10-50 раз.