| [SQL] Join ali kaj druga? | ||
|---|---|---|
|
Chelios
13. maj 2010 11:38:45
Pridružen od: 9. apr 2010 27 objav 5 0 0 |
#1
Imam tabele... texts (id, title, text) pa me zanima kakšen bi bil najbolj optimiziran query, ki bi mi zraven tega... SELECT * FROM selectal še tage, znam selectati samo en tag, problem je, da je pri nekaterih textih več tagov, pri drugih pa jih sploh ni. Če sploh gre to tako kot sem si zamislil? Just juice me!
|
|
|
Vini
13. maj 2010 11:54:11
Pridružen od: 1. sep 2006 6612 objav 5234 611 56 |
#2
Odvisno, v kakšni obliki bi imel te tage. Če so ti dovolj v text obliki, potem si poglej GROUP_CONCAT() funkcijo. |
|
|
Pete
19. maj 2010 08:12:15
Pridružen od: 19. maj 2010 2 objav 0 0 0 |
#3
Drugače pa malo experimentiraš in pred SQL vtakneš še EXPLAIN, ki ti lepo razloži kako se bo SQL tudi izvedel. |
|
|
wickedsheep
19. maj 2010 22:00:38
Pridružen od: 22. jan 2010 20 objav 26 0 0 |
#4
Cisto na hitro, ce prav vidim imas tu 2 tabeli, "texts" in "tags" ter se eno povezovalno (link) tabelo "tags_links". Za optimalno delovanje se najprej znebi atributa "id" iz tabele "tags_links". Ce imas m:n povezavo je ta "id" cisto odvec. Z drugimi besedami - imas en tekst, ki ima lahko vec tagov in en tag, ki ima lahko vec tekstov. Potem pa lahko zadevo joinas, gres iz "texts" preko "tags_links" v "tags". Pisem na pamet:
ExtJS, Sencha Touch consulting | MySQL, MSSQL, Oracle performance tuning - wickedsheep.si
|
|