Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> optymalizacja zapytania - typowe tagi
minchal
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 11.04.2006

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


Witam,
mam takie zapytanie. Wyciąga ono listę "czegoś" (w tym przypadku tabela firm) wg. danego tagu, ale dodaje też listę wszystkich tagów danego elementu. Relacja firmy-tagi to typowe wiele do wielu, z tablicą pośrednią (nie znam jeszcze specjalistycznego nazewnictwa winksmiley.jpg ).
  1. SELECT
  2. c.id, c.cat_id, c.name, c.url, c.logo, c.rating, c.special, c.city, c.views,
  3. cc.name AS cat_name, cc.url AS cat_url,
  4. GROUP_CONCAT(DISTINCT t_all.tag SEPARATOR ', ') AS tags
  5. FROM x_company c
  6. LEFT JOIN x_company_category cc ON c.cat_id = cc.id
  7.  
  8. LEFT JOIN x_company_tags ct_all ON ct_all.company_id = c.id
  9. LEFT JOIN x_tags t_all ON ct_all.tag_id = t_all.id
  10.  
  11. LEFT JOIN x_company_tags ct ON ct.company_id = c.id
  12. LEFT JOIN x_tags t ON ct.tag_id = t.id
  13. WHERE t.tag = 'webdesign'
  14.  
  15. GROUP BY c.id

Czy można to zapytanie zoptymalizować? Na razie bazę mam małą, więc wykonuje się szybko, nie wiem jak będzie w przyszłości.
Go to the top of the page
+Quote Post

Posty w temacie


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 Aktualny czas: 20.08.2025 - 18:13