Efektívnejšie query

Programovacie jazyky, rady, poradňa...
dykeer
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 102
Registrovaný: 02 jan 2011, 21:21
Kontaktovať používateľa:

Efektívnejšie query

Príspevok od používateľa dykeer »

Čaute,
mám 3 tabuľky MySQL InnoDB: 1. videos, 2. kats, 3. video_kats
1. obsahuje videa
2. obsahuje kategórie
3. obsahuje 2 stĺpce: id_video a id_kat. id_video je id videa z tabuľky videos a id_kat je id kategorie. Ak video 123 patrí do kategórie 456, tak je tam záznam (123,456)
Jedno video môže byť vo viacerých kategóriách (priemerne 2-3).
Potrebujem z tabuľky videos vybrať záznamy z konkrétnej kategórie 6.
Ktorá query je podľa Vás efektívnejšia na čas a výkon servera, poprípade iné riešenie:

Kód: Vybrať všetko

A: SELECT id, nazov, obrazok, dlzka, views, kvalita FROM videos JOIN video_kats ON videos.id = video_kats.id_video WHERE video_kats.id_kat =6

B: select id,nazov,obrazok,dlzka,views,kvalita from videos where videos.id in (SELECT id_video from video_kats where id_kat=6)
Počet záznamov vo videos je cca 10 000 a počet kategórií je 26
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8217
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Efektívnejšie query

Príspevok od používateľa harrison314 »

S MySQl som uz par rokov nerobil, ale co si pametam, tak vnorene selecty jej robili problemi, preto skor odporucam JOIN.
Ale nie som si uplne isty, radcej nech sa vyjadraia ludia, ktori su skusnejsi s MySQL.
Alebo si sprav Performace testy.
javatar
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6112
Registrovaný: 12 aug 2010, 14:49
Bydlisko: I don't exist at all.

Re: Efektívnejšie query

Príspevok od používateľa javatar »

this ^ (presne rovnaky nazor/skusenost)

Ale vysledom by ma zaujmal takze si sprav tie performance testy a potom napis sem.
Napísať odpoveď