Mache einen normalen Index über deinen Timestamp und kalkuliere das Abfrageergebnis in ein Timestamp:

where mytimestamp
between
timestamp(current date - 3 months, time('00.00.00'))
and
timestamp(current date, time('23.59.59'))

Dann benötigst du keine berechneten Indizes, da diese nur verwendet werden, wenn der Ausdruck genau identisch ist.
Es ist daher besser, die Abfragebedingung so zu berechnen, dass sie zum gespeicherten Inhalt passt.