与或非是逻辑判断的必须,如果真的需要很多or来判断,那么谁也没有办法。
一般优化or的办法是,减少or,也就是减少判断条件。这个不仅仅是数据库的问题,需要从业务等多方面来考虑。
比如,业务可以减少一个or,那么这就是最好的优化方式。
如果几个or字段都有索引,那么可以考虑分开查询,这样能走索引,因为or不走索引。也算优化。
缩小查询范围也算,虽然还是or,还是那么多条件,但是其他条件却可以,让数据量从10w,变为5千,这也是优化。
至于其他的方法,什么换个写法等等,大多数都是扯淡,没什么实际意义。