Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 4 odgovora
  • 5.164 pregleda

Najnovija ↓

SQL upit-LOOP 17.08.2002. u 03:47 · pre 294 meseca #1
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...?
Re: SQL upit-LOOP 17.08.2002. u 08:15 · pre 294 meseca #2
Svakako upotrebom SP neces ugusiti server vise nego sto ga gusis kad mu saljes SQL upit koji tek treba da se rastumaci.
Pogledaj: https://www.elitesecurity.org/t11968

Drugo, mozes li da promenis dizajn baze kako bi smanjio broj 'poziva' serveru?
Potpis
Commercial-Free !!!
Re: SQL upit-LOOP 17.08.2002. u 13:40 · pre 294 meseca #3
>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 :)
Re: SQL upit-LOOP 19.08.2002. u 11:21 · pre 294 meseca #4
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'

Potpis
People who think they know everything tend to irritate those of us who do.
Re: SQL upit-LOOP 20.08.2002. u 01:04 · pre 294 meseca #5
>>SELECT SUM(cena)...
>>UNION
>>SELECT SUM(cena)...

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

Hvala!
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme