Autor | Zpráva | ||
---|---|---|---|
Zool Profil * |
#1 · Zasláno: 3. 4. 2013, 22:00:00
Ahoj chtěl jsem se zeptat mám sql dotaz
select COUNT(*) as pocet from `ZBOZI` z inner join `STR_ENTIT` st on z.ID_ZBO=st.ID_ZBO inner join `STRANKY` s on st.ID_ST=s.ID_ST where s.ADRESA_STR='adresa' děkuji |
||
pcmanik Profil |
#2 · Zasláno: 4. 4. 2013, 00:12:48
Zool:
Hoď sem výpis z explainu, pravdepodobne sú zle použité indexy. |
||
Časová prodleva: 3 dny
|
|||
Zool Profil * |
#3 · Zasláno: 6. 4. 2013, 15:38:39 · Upravil/a: Zool
pcmanik:
Nevím z čeho výpis z phpmyadminu?? Myslíš pomocí příkazu EXPLAIN? tady to je id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE st ALL ID_ST,ID_ZBO NULL NULL NULL 208812 1 SIMPLE z eq_ref PRIMARY PRIMARY 8 senkyrcom.st.ID_ZBO 1 Using index 1 SIMPLE s eq_ref PRIMARY PRIMARY 4 senkyrcom.st.ID_ST 1 Using where |
||
Virtus Profil |
Přidej do tabulky
`STR_ENTIT` indexy nad sloupce `ID_ST` a `ID_ZBO` , pokud to upravuješ v phpmyadminu tak je edituj, každý zvlášť nebo použí v struktuře tabulky rychlý menu u jednotlivých sloupců. Phpmyadmin má totiž oblibu, když se editují naráz, z nich dělat složený index a to v tomhle případě nechcem.
Edit: Kajman:[#6] „Ale ty indexy tam podle explainu jsou.“ Tak to se omlouvám, nějak sem to přehlíd, jak jsou ty nadpisy těch sloupců posunuté... |
||
Camo Profil |
Otázka:
Nepomohlo by zmeniť poradie tých tabuliek v selecte? Že by bola prvá tabuľka STRANKY na ktorú sa odkazuje WHERE? S indexom na tom stĺpci s.ADRESA_STR. Ide mi o to ALL pri prvej tabuľke. Takto: select COUNT(*) as pocet from `STRANKY` s inner join `STR_ENTIT` st on s.ID_ST=st.ID_ST inner join `ZBOZI` z on z.ID_ZBO=st.ID_ZBO where s.ADRESA_STR='adresa' |
||
Kajman Profil |
#6 · Zasláno: 6. 4. 2013, 17:35:30
Virtus:
„Přidej do tabulky `STR_ENTIT` indexy nad sloupce `ID_ST` a `ID_ZBO`“ Ale ty indexy tam podle explainu jsou. Zool: Vypadá to, že nemáte index na sloupcem STRANKY.ADRESA_STR. Dále bych použil právě ten spojený index (ID_ST,ID_ZBO) na tabulkou s entitamy. Nebo nechte jen ty samostatné a vůbec nedělejte join na zbozi, pokud se nestává, že ke stránkách připojujete neexistující zboží (hlídáte integritu např. cizími klíči). |
||
Zool Profil * |
#7 · Zasláno: 6. 4. 2013, 18:16:45
Kajman:
Opět děkuji, pomohlo, neměl jsem ten index nad tím sloupcem ADARESA_STR. |
||
Časová prodleva: 11 let
|
0