ugrás a tartalomhoz

MySql select

simisoma · 2012. Már. 30. (P), 14.59
Sziasztok,

van nekem 5 táblám

user
aprohirdetes
megyek
varosok
keruletek

Ez nem igazán működőképes használat mert borzasztó lassú, milyen ennél gyorsabb jobban használható megoldás van több táblás lekérdezés esetén?
SELECT aprohirdetes .* , user_username, user_megye, user_varos, user_kerulet, user_telefon, user_mobil, user_email, user_veznev, megyek.MegyeNev AS megye, varosok.VarosNev AS varos, keruletek.KeruletSzam AS kerulet
FROM aprohirdetes, user, megyek, varosok, keruletek
WHERE user.user_username = ah_username
AND megyek.MegyeID = user.user_megye
AND user.user_varos = varosok.VarosID
AND user.user_kerulet = keruletek.KeruletID
AND ah_kapcs_kat = 'Autofelszerelesalkatreszek'
AND (
ah_leiras LIKE '%valami%'
OR ah_nev LIKE '%valami2%'
)
AND (
ah_alkategoria = 'Autoalkatresz'
)
AND (
ah_tulajdonsagok LIKE '%automarkak-35%'
)
OR (
ah_tulajdonsagok LIKE '%automarkak-36%'
)
AND (
user.user_megye =20
)
AND (
user.user_varos =392
)
AND (
user.user_kerulet =2
);
 
1

mysql explain

Hidvégi Gábor · 2012. Már. 30. (P), 15.14
2

további lekérés

simisoma · 2012. Már. 30. (P), 15.15
És arra van e lehetőség, hogy a fenti lekérdezés eredményéből egy újabb lekérést csinálni valamely módon?
3

Talán...

H.Z. v2 · 2012. Már. 30. (P), 15.43
... nézd meg a SQuirreL-t, hátha tud segíteni az optimalizálásban.
Van valami halovány emlékem, hogy ennek a "nagytestvére" a TOAD tud ilyesmit, de több, mint négy éve nem használtam egyiket sem (utóbbit ráadásul csak Oracle-lel), úgyhogy tévedés joga fenntartva.
Egyébként ahol egyenlőre keresel, azokta a mezőkre van indexed? Az sokat javíthat a lekérdezések sebességén (és ronthatja az update jellegű műveletekét)