Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Porównywanie wielu dat w jednym zapytaniu - problem z wydajnością
ppendel
post
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 5.12.2005

Ostrzeżenie: (0%)
-----


Witam,

Mam do utworzenia zapytanie w którym muszę sprawdzić trzy daty pochodzące z dwóch tabel, czy znajdują się w jakimś przedziale.

Problem polega na tym, że warunkiem jest że co najmniej jedna z tych dat ma być zawarta w określonym zakresie, czyli:

(tabela1.date1 BETWEEN '2011-08-01' AND '2011-08-31') OR (tabela2.date2 BETWEEN '2011-08-01' AND '2011-08-31') OR (tabela2.date3 BETWEEN '2011-08-01' AND '2011-08-31').

Przy zapytaniu z OR czas wykonania zapytania oscyluje w okolicach 15s, natomiast przy sprawdzaniu jednej daty, bądź wszystkich z warunkiem AND czas wykonania zapytania wynosi 0,2-0,5s.

Czy ktoś wie, czy jest jakiś inny/efektywniejszy sposób na sprawdzenie tego warunku?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




A dlaczego przechowuje daty aż w 3 różnych polach? Jest jakiś cel?
Pokaż schemat tabel
  1. SHOW CREATE TABLE 'tabela'
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 09:07