Jawaban sederhananya adalah jangan; tidak pernah menyimpan usia seseorang. Ini berubah untuk setiap orang setiap tahun, tetapi, seperti yang Anda katakan, Anda harus memeriksa apakah itu benar untuk setiap orang setiap hari.
Hanya simpan tanggal lahir, lalu hitung usia saat memilih dari database. Hanya today - date of birth
jadi hampir tidak membutuhkan CPU sama sekali.
EDIT:
Untuk memperluas komentar saya di jawaban ManseUK
ada juga kemungkinan gagal. Apa yang terjadi jika server/database Anda sedang down? Atau pembaruan Anda gagal berjalan pada waktu yang ditentukan? Atau seseorang datang dan menjalankannya secara manual setelah pembaruan dijalankan untuk tanggal tersebut? Atau seseorang mematikan penjadwal Anda? Tidak ada bahaya hal ini terjadi jika Anda menghitung Age
seperti yang Anda pilih dari database.
Untuk memilih di mana usia antara 25 dan 30 tahun dan dengan asumsi kolom TANGGAL dateofbirth
permintaan Anda akan seperti:
select *
from users
where dateofbirth between date_add( curdate(), interval -30 year )
and date_add( curdate(), interval -25 year )
Pastikan users
diindeks pada dateofbirth
.