Det enkle svar er ikke; gem aldrig en persons alder. Det ændrer sig for hver person årligt, men som du siger, skal du kontrollere, at det er korrekt for hver person dagligt.
Gem kun fødselsdatoen, og beregn derefter alderen, når du vælger fra databasen. Det er kun today - date of birth
så tager næsten ingen CPU'er overhovedet.
EDIT:
For at udvide min kommentar i ManseUKs svar
der er også mulighed for fiasko. Hvad sker der, hvis din server/database er nede? Eller kører din opdatering ikke på det angivne tidspunkt? Eller kommer der nogen og kører det manuelt, efter at opdateringen allerede er kørt for den dato? Eller slukker nogen din skemalægger? Der er ingen fare for, at dette sker, hvis du beregner Age
som du vælger fra databasen.
For at vælge, hvor alderen er mellem 25 og 30 år og forudsat at kolonnen DATO dateofbirth
din forespørgsel ville være noget i stil med:
select *
from users
where dateofbirth between date_add( curdate(), interval -30 year )
and date_add( curdate(), interval -25 year )
Sørg for users
er indekseret på dateofbirth
.