У меня есть таблица MySQL с 13M строками. Я могу запросить db непосредственно какМодели Django - SELECT DISTINCT (foo) Из таблицы слишком медленно
SELECT DISTINCT(refdate) FROM myTable
Запрос занимает 0.15 секунды и отлично.
Эквивалентная таблица определена как модель Django и запрашиваются, как
myTable.objects.values(`refdate`).distinct()
занимает очень много времени. Это потому, что в списке слишком много элементов до distinct()
. Как я могу сделать это так, чтобы все это не сбивало?
SQL, порожденный код выше, будет в значительной степени то же самое, что вы запустить вручную: 'SELECT DISTINCT FROM mytable.refdate mytable' так странно, что она работает гораздо медленнее. можете ли вы профилировать с помощью django-debug-toolbar, чтобы убедиться, что это самый медленный запрос? – solarissmoke
Я попытался использовать модель django из оболочки python и имел проблему, описанную выше. Я даже не пытался загрузить страницу и смотреть, как она висит. – Vishal
Можете ли вы сбросить 'connection.queries' после запуска запроса в оболочке? ('from django.db import connection')? – solarissmoke