一堆in查询,该如何优化

请教各位geigei,这条查询语句该如何优化呢,其实还有两个in查询条件,不方便贴出来

SELECT * FROM student
WHERE 
    addr = '河北' 
    AND date > '1609430400000' AND date <= '1640966399000' 
    AND communist_flag IN ('党员','预备党员','积极分子') 
    AND code IN ('1','-1','0','2') 
    AND age IN ('18','19','20','21','22','23','24','25','26','27','28')
 ORDER BY date DESC

```

不超过1000就行,连续的你就用between,如果字段间有关系,你可以这样(age,code)in((18,1),(20,2))

in属于等值查询,理论上比范围查询快