![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 17.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Podam abstrakcyjny przykład poniewąż zalezy mi na samej istocie problemu
$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)
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. Ten post edytował micze 18.11.2011, 00:04:46 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 248 Pomógł: 31 Dołączył: 14.12.2010 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
W MySQL nie istnieje takie coś jak cache na wynikach.Możesz tylko próbować zrobić coś na tablicy memory ew kombinować coś z view.Co do procedury ,owszem, możesz napisać ale to Ci nie za wiele da bo i tak nadal będzie się wykonywało tyle samo obliczeń, tyle że w procedurze. Proponuję napisać sobie jakiś moduł oparty o singletona albo coś wym stylu, i cach'owanie w nim danych wynikowych.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 03:21 |