У меня есть таблица базы данных в psql, которая содержит 10 000 000 строк и 60 столбцов (функций).Я определяю Django Queryset следующим образом:
MyQ=MyDataBase.objects.filter(Name='Mike', date=date(2018, 2, 11),
Class='03')
Есть только 5 строк, которые удовлетворяют вышеуказанному фильтру.Но когда я пытаюсь что-то наподобие
MyQ.count() #which equals 5
или
MyQ.aggregate(Sum('Score'))['Score__sum'] #which equals 61
, каждый из них занимает около 3 минут, чтобы дать мне результат.Разве это не странно?Разве наборы запросов не должны облегчать жизнь, сосредотачиваясь только на тех строках, на которых мы им указали?подсчет 5 строк или суммирование одного из них не должно занимать много времени.Что я делаю не так?
Я тоже должен это сказать.В первый раз, когда я попробовал этот код на этой таблице, все было хорошо, и потребовалось, возможно, 1 секунду, чтобы поймать результат, но теперь эти 3 минуты действительно раздражают.И с тех пор я ничего не изменил в базе данных или коде.