MySql select
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?
■ 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
);
mysql explain
további lekérés
Talán...
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)