Не знаком с внутренностями Oracle, но вот мое понимание того, как он работает с Postgres:
Индексы сгруппированы для всех намерений и целей. Таким образом, если вы упорядочены как asc и новые строки всегда добавляются в конце (например, созданный_каталог, обновленный_каталог, billed_at и т. Д.), Ваши новые строки будут добавляться (или почти), а не добавляться (приводя к странице на диске). расщепляется). Это быстрее.
Ваш планировщик запросов будет рад прочитать индекс в обратном порядке. Так что, если это индекс одного столбца, любой из них работает - используйте наиболее естественное, когда речь идет о том, как новые строки вставляются в ваш сценарий использования.
Если индекс, упорядоченный в обратном порядке, может стать интересным, это когда у вас есть индекс в несколько столбцов. Скажем, (id, created_at desc)
в таблице журнала аудита. На самом деле это плохой пример, но вот в чем суть: если вы упорядочиваете по id, created_at desc
, индекс будет использоваться как есть.