Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Optymalność rozwiązania
wlamywacz
post 12.09.2011, 19:02:32
Post #1





Grupa: Zarejestrowani
Postów: 535
Pomógł: 27
Dołączył: 3.05.2005

Ostrzeżenie: (20%)
X----


Witam

W aktualnie projekcie posiadam tabele z adresami stron (pages) oraz tabele (params) zawierającą dane dotyczące stron. Problem polega na wyświetleniu listy adresów z najstarszymi parametrami. Jednym z rozwiązań jest zastosowanie podzapytania - jednak jest to bardzo powolne, gdyż baza stron może sięgnąć tysięcy a baza parametrów milionów. Drugim rozwiązaniem jest połączenie dwa razy tabel z parametrami na zasadzie:
  1. SELECT p.id, p.url, p1.value FROM pages AS p LEFT JOIN params AS p1 ON (p.id = p1.pageid AND p1.type = 0) LEFT JOIN params AS p2 ON (p1.type = p2.type AND p1.pageid = p2.pageid AND p1.id < p2.id) WHERE p2.id IS NULL

dzięki czemu uzyskuje szybko i wydajnie liste z stron z jednym z parametrów. Parametrów jest 5 a więc pytanie w jaki sposób na szybkość i optymalność wpłynie połączenie tej samej tabeli 10 razy. Niestety nie jestem w stanie samemu sprawdzić tego rozwiązania.

Pozdrawiam
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 22.06.2025 - 04:31