Podam abstrakcyjny przykład poniewąż zalezy mi na samej istocie problemu
SELECT * FROM entries WHERE ('$time'/interval > 5 AND '$time'/interval < 10 ) OR ('$time'/interval > 20 AND '$time'/interval < 30 )
$time jest zmienną PHP.
Problem jest taki ,że w prawdziwym przykładzie będzie 6 takich warunków , co daje 12 obliczeń wyrażenia '$time'/interval.
Moim pytaniem jest to, czy MySQL jest na tyle "inteligentny", że potrafi cachować takie wyrażenie i obliczyć je raz a nie 12 ( to będą duże liczby) ?
Jeśli nie czy zminimalizuje ilość obliczeń wyrażenia do 1 za pomocą procedury (jestem zielony w tym temacie, tak więc proszę o ewentualne wskazówki)
SELECT *,( repeatInterval + repeatMode) AS res FROM entries WHERE (res > 5 AND res < 10 ) OR (res > 20 AND res < 30 )
Czy rozwiązaniem jest powyższy przykład ?
Ps. ominąłem BETWEEN, ponieważ chodzi o idee i chciałbym zredukować obliczanie wyrażenia do 1.