Kezdőoldal » Számítástechnika » Programozás » Több időt vesz igénybe, ha...

Több időt vesz igénybe, ha egy adatbázisban egyenként UPDATE-elem a sorokat ahelyett, hogy egyszerre UPDATE-elném?

Figyelt kérdés

Az egyenként az úgy néz ki, hogy első query: ... WHERE id=1; második query: ... WHERE id=2, stb.

Az egyszerre pedig egy olyan feltétel megadásával történne, ami a frissítendő rekordokban közös, pl. WHERE category=2

Több időt vesz igénybe az első megoldás? Ha igen, mennyivel?


2011. máj. 23. 21:11
 1/3 anonim ***** válasza:
100%

Jóval gyorsabb 1 lekérdezéssel, mert egyrészt akkor nem kell parsolgatni a queryket állandóan, másrészt általában az adatbázis szerver nem ugyanazon a gépen van, mint az alkalmazás szerver (már ha webalkalmazásról van szó), és így minden lekérdezés futtatásakor meg kell várni a roudtripet, ami jóval több, mint maga az update lefutási ideje (gondolom nem párhuzamosan futtatod, abban az esetben pedig a connection-ök számával lesz gond). Arról nem is beszélve, hogyha a werere feltételben olyat adsz meg, amire nincs index létrehozva, akkor anyniszor végig kell menni az egész táblán szegény adatbázisszervernek.


De extrém esetben lehet hogy gyorsabb a több query:

pl: nagyon sok sor van a táblában, és az id-re van index, de a category-ra nincs, és csak 2-3 sort kell updatelni.

2011. máj. 23. 21:35
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:
A lekérdezésekkel is ugyanez a helyzet egyébként. Tehát pl ha egy táblából lekérsz sok sort, utána egy másik táblából pl egy id alapján egyéb adatokat külön lekérdezésekkel, akkor az nagyon lassú. Nem véletlenül találták ki a join-okat.
2011. máj. 23. 21:39
Hasznos számodra ez a válasz?
 3/3 A kérdező kommentje:

Köszönöm a kielégítő választ :)

Egy gépen van a kliens és az adatbázis, nem webes alkalmazás lesz.

Egyébként már megoldottam a gondom, mert máshogyan oldottam meg a feladatot, de azért jó tudni, amiket leírtál.

2011. máj. 24. 15:09

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!