У меня есть пакетное задание, которое обрабатывает записи в порядке самой старой записи. В Django у меня есть определенная модель, подобная этой:
class mymodel(models.Model):
name = models.CharField()
...
last_processed = models.DateTimeField(blank=True, editable=False, null=True)
Мне нужно получить самую старую запись с помощью DateTimeField last_processed. Я понимаю, что Джанго может сделать это так:
mymodel.objects.order_by('last_processed')[:1].get()
Однако существует ли более быстрый и эффективный способ выполнения этого запроса?
Я ожидаю, что база данных будет расти, поэтому возможно иметь до 10 миллионов записей. Постоянный запуск этого запроса не кажется эффективным ....
Спецификация системы:
- CentOS 6,0
- Python 2.6.5
- Джанго 1,3
- PostgreSQL 8.4.7