Я использую Django для создания веб-сайта с бэкэндом MySQL (MyISAM).
Данные базы данных импортируются из ряда файлов XML, которые обрабатываются внешним сценарием, и выводятся в виде JSON-файла.Всякий раз, когда новый файл JSON отличается от старого, мне нужно стереть старый MySQL-db и воссоздать его с помощью manage.py loaddata (по крайней мере, это простой способ сделать это, я думаю, я мог бы проверить различия между JSONфайлы и применить их к базе данных, но я не нашел хорошего решения для этого (я не очень хороший программист и веб-разработчик)).
В любом случае, файл JSON составляет около 10Мб, и в итоге получается около 21 000 строк SQL (не ожидается значительного роста).Существует 7 таблиц, и все они выглядят примерно так:
class Subnetwork(models.Model):
SubNetwork = models.CharField(max_length=50)
NetworkElement = models.CharField(max_length=50)
subNetworkId = models.IntegerField()
longName = models.CharField(max_length=50)
shortName = models.CharField(max_length=50)
suffix = models.CharField(max_length=50)
Для импорта в MySQL требуется до минуты (иногда всего 30 секунд).Я не знаю, следует ли ожидать от файла такого размера?Что я могу сделать (если что-нибудь), чтобы улучшить производительность?
Для чего это стоит, вот какой-то вывод профилировщика https://gist.github.com/1287847