Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Najbrza UPDATE naredba?

[es] :: Baze podataka :: Najbrza UPDATE naredba?

[ Pregleda: 2445 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

vujkev
Beograd

Član broj: 8072
Poruke: 1347
*.scnet.yu



+104 Profil

icon Najbrza UPDATE naredba?06.09.2004. u 11:59 - pre 238 meseci
Zamislite ovakvu situaciju:
Prva tabela (source) se nalazi u Accessu i ima 4 polja:
1. ID (autonumber)
2. Sifra (text, 16 karaktera)
3. Satus (Broj, Long Integer)
4. Datum

Druga tabela (destination) se nalazi na SQL serveru (MSDE) i ima 5 polja:
1. ID (autonumber)
2. Sifra (text, 16 karaktera)
3. Satus (Broj, Long Integer)
4. Datum
5. ID_Posla (broj, Long Integer)

Potrebno je da se:
1. iz prve tabele izdvoje samo polja gde je status "<> Null"
2. uporediti sifru iz source i destionation tabele "sifra(source)=sifra(destination)" i promeniti status (status(destination)=status(source)) za svaki record.

Nadam se da sam lepo objasno i da je neko ovo shvatio,

Ovo bih znao da uradim u VB-u, ali problem je velicina baze. Destination tabela moze da ima vise od 300.000 podataka, a source tabela i do 30.000 podataka. U VB-u ovo bi radio duuuuuuuugo, pa me interesuje neko brze resenje. Prebacivanje source tabele na SQL server ne bi bio problem sa DTS-om, ali sta dalje?
Naučio sam...
Da je važnije biti ljubazan nego biti u pravu
 
Odgovor na temu

jablan

Član broj: 8286
Poruke: 4541



+710 Profil

icon Re: Najbrza UPDATE naredba?06.09.2004. u 13:11 - pre 238 meseci
Šta će ti VB?

1) Prebaciš source tabelu u SQL server
2) uradiš
Code:
UPDATE destination SET destination.status = s.status
FROM source s
WHERE s.sifra = destination.sifra
AND s.status IS NOT NULL


Obe tabele su indeksirane po šiframa.
 
Odgovor na temu

vujkev
Beograd

Član broj: 8072
Poruke: 1347
*.scnet.yu



+104 Profil

icon Re: Najbrza UPDATE naredba?06.09.2004. u 14:25 - pre 238 meseci
hvala sad cu da probam kako ovo radi

P.S. promena podataka treba da bude samo jedna od operacija programa koji je radjen u VB-u.
Naučio sam...
Da je važnije biti ljubazan nego biti u pravu
 
Odgovor na temu

Simke
Marko Simic
Sandfield Associates (Solution
Developer)
Novi Zeland

Član broj: 1158
Poruke: 751
*.dialup.xtra.co.nz

ICQ: 71578686
Sajt: www.sandfield.co.nz


Profil

icon Re: Najbrza UPDATE naredba?07.09.2004. u 07:31 - pre 238 meseci
Uradi INNER JOIN, bice brze od WHERE s.sifra = destination.sifra.

Znaci:

UPDATE destination SET destination.status = s.status
FROM source s
INNER JOIN destination.d ON d.sifra = s.sifra
WHERE s.status IS NOT NULL
All beer is good. Some beer is better.
 
Odgovor na temu

[es] :: Baze podataka :: Najbrza UPDATE naredba?

[ Pregleda: 2445 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.