Задавайте вопросы, мы ответим
Вы не зашли.
Добрый день уважаемые пользователи
Первые берусь за проект с большим количеством записей в БД. предполагается миллиардные записи.
основная головная боль - это импортирование данных в БД.
посоветуйте, каким образом делать импорт порядка 500 тыс. записей (это только один из файлов) В формате csv в MYSQL
Неактивен
Используйте LOAD DATA INFILE
Неактивен
rgbeast написал:
Используйте LOAD DATA INFILE
так вроде он только с текстовыми файлами работает или я ошибаюсь?
Неактивен
lericen написал:
так вроде он только с текстовыми файлами работает или я ошибаюсь?
Да, но вы пишете про формат csv, а это и есть текстовый формат.
Неактивен
rgbeast написал:
lericen написал:
так вроде он только с текстовыми файлами работает или я ошибаюсь?
Да, но вы пишете про формат csv, а это и есть текстовый формат.
Извиняюсь за свою тупость. Понял вас.
Вопрос еще один. при использование данного запроса возможно я как понимаю разом текстовый файл загружается, но построчно. при этом возможно вставка проверок. то есть есть столбцы в которых будут повторяющиеся записи. и заменить их на ID элементов с другой таблицы, в котором содержится эти самые повторяющиеся значения
Неактивен
LOAD DATA INFILE позволяет изменять содержимое вставляемых строк посредством оператора SET. В последнем резрешены подзапросы использующие информацию о вставляемых значениях и получающие информацию из других таблиц.
Тем не менее, SET не позволяет не вставлять данную строку, а подзапрос скажется негативно на эффективности. Проще всего вставить все строки, а потом обработать отдельными запросами с JOIN.
Неактивен