[ DraganK @ 17.08.2002. 02:47 ] @
Parametri su sledeći:

Baza je MS SQL Server 7
Pristup iz VB-a 6
Ado 2.5
Provider OLEDB.1

U opticaju su 4 tabele:
1.Čitam jednu kolonu iz prve tabele po PK1
2.Sa tom vrednošću idem u 2. i 3. tabelu i tražim neke agregatne vrednosti
3.Ubacujem u 4. tabelu jedan slog sa nadjenim vrednostima (20-tak polja)


To sve u petlji za oko 50.000 slogova.

Pitanje je sledeće

1. Kako ne bih trčao do druge tabele dvaputa, kako da ova dva upita spojim u jedan:

SELECT SUM(cena) FROM catalog WHERE prodname = 'cafe' AND (size = '10' OR size = '11' OR size = '12')

SELECT SUM(cena) FROM catalog WHERE prodname = 'cafe' AND size = '30'

2. Znam da su SProc dobre, ali ne znam da li bi se ovde dobilo na brzini. Kol'ko znam, SP daju rezultate kada više usera pristupa pa se koristi cash-iranje, ali ne znam da'l bi se ugušio server kada bi se one pozivale nonstop u petlji...

3. Recordset otvaram sa adlockreadonly,adopenforwardonly, cursor-aduseclient, insertujem sa conn.execute, select-ujem samo potrebna polja... Jos neki savet kako bih dobio na brzini...?
[ degojs @ 17.08.2002. 07:15 ] @
Svakako upotrebom SP neces ugusiti server vise nego sto ga gusis kad mu saljes SQL upit koji tek treba da se rastumaci.
Pogledaj: http://www.elitesecurity.org/tema.php?TopicID=11968

Drugo, mozes li da promenis dizajn baze kako bi smanjio broj 'poziva' serveru?
[ DraganK @ 17.08.2002. 12:40 ] @
>Svakako upotrebom SP neces ugusiti server vise nego...

Ma OK, nego reko' zbog petlje...

>Drugo, mozes li da promenis dizajn baze...

Ma jok, to mi je constanta :)
[ Riste Pejov @ 19.08.2002. 10:21 ] @
Citat:
DraganK:
Pitanje je sledeće

1. Kako ne bih trčao do druge tabele dvaputa, kako da ova dva upita spojim u jedan:


Code:


SELECT SUM(cena) FROM catalog WHERE prodname = 'cafe' AND (size = '10' OR size = '11' OR size = '12')
UNION
SELECT SUM(cena) FROM catalog WHERE prodname = 'cafe' AND size = '30'

[ DraganK @ 20.08.2002. 00:04 ] @
>>SELECT SUM(cena)...
>>UNION
>>SELECT SUM(cena)...

Odlicno, to je to...
Samo sam stavio UNION ALL, da ne bi eliminisao duplikate...

Hvala!