В зависимости от формата данных (вы сказали, CSV) и базы данных, вероятно, вам будет лучше загружать данные непосредственно в базу данных (либо непосредственно в таблицы, управляемые Django, либо в таблицы temp). В качестве примера Oracle и SQL Server предоставляют настраиваемые инструменты для загрузки больших объемов данных. В случае с MySQL существует множество трюков, которые вы можете сделать. В качестве примера вы можете написать скрипт perl/python для чтения CSV-файла и создания SQL-скрипта с инструкциями вставки, а затем передать SQL-скрипт непосредственно в MySQL.
Как уже отмечалось, всегда отправляйте индексы и триггеры перед загрузкой больших объемов данных, а затем добавляйте их обратно - перестраивая индексы после того, как каждая вставка является основным хитом обработки.
Если вы используете транзакции, отключите их или загрузите свои вставки, чтобы транзакции не были слишком большими (определение слишком велико, но если вы делаете миллион строк данных, 1 тыс. Транзакций, вероятно, по праву).
И, самое главное, НАЗАД ВАШЕЙ БАЗЫ ДАННЫХ ПЕРВОЕ! Единственное, что хуже, чем восстановление вашей базы данных из резервной копии из-за винта импорта, не имеет текущей резервной копии для восстановления.
Вы должны обходить django и разговаривать непосредственно с DBM для этой загрузки, но вам нужно будет предоставить более подробную информацию для получения более конкретного ответа. – msw
Удостоверьтесь, что у вас нет индексов или внешних ключей, когда вы делаете такую вставку - намного быстрее их перестроить. –