Индекс не помог бы, так как их главная проблема. Я считаю, что не столько получение отсортированного списка, сколько запись в БД с просмотром каждой страницы статьи.Другой индекс на самом деле усугубляет эту проблему, хотя и немного.
Так что я бы пошел с кешем.Я думаю, что кеширование в django является проблемой здесь, потому что оно требует таймаутов для всех ключей.Я не уверен, навязано ли это memcached, если нет, то иди с redis.На самом деле, в любом случае, просто используйте redis, библиотека python великолепна, я уже использовал ее в проектах django, и она имеет атомарные приращения и мощную сортировку - все, что вам нужно.