ugrás a tartalomhoz

select .. where .. => tömb -> foreach{ select .. where} kiváltása

EL Tebe · 2009. Jún. 26. (P), 13.35
Sziasztok!

A tárgyban említett problémám van.
Van egy lekrdezés, aminek az eredménye alapján kapok több id-t, amik alapján le kell kérdeznem egy másik táblából adatokat.

Kérdés az, hogy milyen megoldás a legkevésbé erőforrás igényes?
Mi az elv amivel kiváltható a fenti rossz megoldás (ami ugye iszonyat mennyiségű lerkédezést produkál..)
 
1

Subquery

Poetro · 2009. Jún. 26. (P), 13.57
Lehet subquery-vel. Például:
SELECT * FROM valami WHERE id IN (SELECT id FROM valami_mas WHERE mezo1 = 'valami')
2

re Subquery

EL Tebe · 2009. Jún. 26. (P), 14.34
Ez mennyire erőforrásigényes lekérdezés?
Pl. ha 2-3 milló sort kell végignézni mindkét táblában.. Esetleg van rá más módszer, akár pl progi oldalról tömbökkel játszani, vagy ilyesmi?

Másik megközelítésből: érdemes ilyenkor valahogy átszervezni a táblákat/struktúrát?
3

Kevésbé erőforrásigényes

Poetro · 2009. Jún. 26. (P), 15.33
mint 2 millió SELECT. Egyébként megfelelő indexelés mellett eléggé jól teljesít. Százmilliós tábla esetén is.
4

re

EL Tebe · 2009. Jún. 26. (P), 15.48
Ok, köszönöm a válaszod!