#mysql #sql #csv
#mysql #sql #csv
Вопрос:
мне нужно импортировать некоторые данные из очень огромного файла csv, который составляет около 1 ГБ.
вместо того, чтобы импортировать все, я хочу просто импортировать сопоставленные данные, я думаю, это будет проще и быстрее, чем импортировать все данные.
мне нужно выполнить поиск в столбце «Почтовый индекс округа» файла CSV, если он содержит LS1 или LS2 или LS10, импортировать сопоставленные данные в tabel в SQL?
Ответ №1:
Заблуждение. Вы думаете, что фильтрация текстового файла по таблице базы данных будет быстрее, чем просто загрузка всего файла в базу данных.
Я поддерживаю, что есть крайние случаи, когда это может быть правдой. Но, в целом, самый безопасный способ справиться с подобными ситуациями — это:
- Импортируйте файл в промежуточную таблицу.
- Добавьте индексы, по мере необходимости, в промежуточную таблицу для повышения производительности.
- Запустите запрос, чтобы скопировать нужные данные из промежуточной таблицы.
Я мог бы сформулировать это по-другому. За то время, которое вам потребуется, чтобы понять, как эффективно объединить информацию из файла и таблицы базы данных, вы, вероятно, могли бы повторить описанный выше процесс 10-50 раз.