Я хочу импортировать большой файл CSV в таблицу базы данных. Я использую "Mysql" в качестве базы данных. Моя таблица имеет "Innodb" движок, и я импортирую файл CSV с помощью используя следующую команду:
"ЗАГРУЗИТЬ ДАННЫЕ [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE ......".
Мой старший предложил мне использовать эту команду в следующем порядке для более быстрого импорта файла CSV:
1) Отключить или удалить индексы.
2) Отключить или удалить ограничения.
3) Команда данных пожарной нагрузки
4) Включить или воссоздать ограничения
5) Включить или воссоздать индексы.
У меня есть один первичный ключ с автоинкрементом, два внешних ключа и один уникальный индекс на два столбца.
Когда я впервые в базе данных, я искал в Интернете, как включить / отключить ограничения? Из этого я могу понять, что
1) Внутренний ключ имеет один уникальный индекс внутри с ненулевым ограничением
2) Внешний ключ имеет один внутренний индекс с ненулевым ограничением.
3) Также с помощью команды "SET foreign_key_checks = 0" мы можем отключить внешний ключ, но он отключит проверку всех внешних ключей базы данных вместо одной таблицы, поэтому я хочу для одного стола.
4) Я могу отключить уникальный индекс с помощью «ALTER TABLE table_name DISABLE ALL KEYS» .
Итак, у меня следующие сомнения:
1) Могу ли я отключить ограничение внешнего ключа конкретной таблицы, и после отключения он также отключит внутренний индекс или мне придется его удалить.
2) Могу ли я отключить первичный ключ с автоинкрементом, и после отключения он также отключит уникальный индекс внутри, или мне придется удалить его, но я хочу автоинкремент для первого столбца, т.е. для первичного ключа как файла CSV don ' t имеет первое значение столбца.
Кто-нибудь может мне помочь решить эту проблему, спасибо.