Какой индекс лучше всего подходит для запроса "последнее изменение пользователем"

У меня есть запрос Django вида

Posts.objects.filter(user=user).order_by('-last_modified')

Какой тип индекса лучше всего подходит для поддержки этого запроса? Я вижу два варианта:

  1. Index(fields=['user_id', '-last_modified'])
  2. Index(fields=['-last_modified'])

Учитывая, что Django автоматически индексирует внешние ключи, такие как user_id, есть ли преимущество 1) перед 2)? Кажется, что 1) приведет к тому, что БД будет обходить меньше элементов, но, возможно, БД достаточно "умны", чтобы соединить два отдельных индекса вместе, и в результате преимущество будет минимальным.

Мой вопрос носит теоретический характер: какой индекс в принципе является лучшим вариантом?

Вернуться на верх