Мне кажется, что ваш индекс бесполезен, как написано.Я думаю, вы захотите:
CREATE INDEX indexa on tablea (col1, col2)
CREATE INDEX indexb on tablea (postdate)
Как я прочитал, моя интерпретация документации говорит о том, что для определения того, какая строка упоминается в вашем примере, в базе данных должна быть указана конкретная датазаданная пара значений (чтобы можно было искать индекс / индексы).У вас нет конкретной даты.Вместо этого вы ищете диапазон значений даты.
Проблема заключается в том, что сопоставляемость значений дат включена в индекс комбинации, который вы создали, поэтому вы не можете получить эту информацию очень легко, что делает индекс ограниченным.
Конечно, я мог быть полон этого.Мой основной опыт не с sqlite.Тем не менее, это не должно быть больно, чтобы попробовать выше.