- Csatlakozik a chipgyártást forradalmasító Terafabhoz az Intel
- A processzor tokozásán szállítja a memóriát a GMKtec legfrissebb mini PC-je
- Fél évszázados Apple jubileumot ünnepel a 8BitDo ízig-vérig fém billentyűzete
- Nem csak nagy, de gyors is az LG önerőből AI felskálázást biztosító monitora
- Kötelező frissítésnek számít a Microsoft legújabb csomagja a Windows 11-hez
- Milyen egeret válasszak?
- TCL LCD és LED TV-k
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Mini-ITX
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- 5.1, 7.1 és gamer fejhallgatók
- Apple asztali gépek
- AMD Ryzen 9 / 7 / 5 7***(X) "Zen 4" (AM5)
- Mikrokontrollerek Arduino környezetben (programozás, építés, tippek)
- Acer notebook topic
Új hozzászólás Aktív témák
-
nyunyu
félisten
válasz
kw3v865
#4459
üzenetére
Mi volt a baj az eredeti elképzeléseddel?
FOR nem a mögé írt query által visszaadott sorrendben megy végig a sorokon, mint ahogyan a kurzorok tennék? De.
Indexelős ötleted nagyon elborult, egyrészt nehéz megvalósítani, pl. mi van akkor, ha jön egy új elem a táblába, akkor minden sort megupdatelsz az aktuális sorrend alapján?
Iszonyúan nagy overheadet produkálnának az ehhez szükséges triggerek.Ha csak annyi lenne a kérdés, hogyan tudod megmondani egy sorról, hogy ő valamilyen rendezés szerint hanyadik a táblában, akkor a row_number() over (order by x,y) függvényt tudod használni.
Egyébként meg a relációs adatbázisok mindig halmazokkal dolgoznak, nem egy-egy elemmel, így a más programnyelvek procedurális gondolkozásmódja (ciklusok, kurzorok...) SQLben sosem ad jó teljesítményt.
Próbálj inkább úgy gondolkozni, hogyan lehet egy queryvel az összes adatot egyszerre frissíteni/beszúrni.Előző projekten amúgy belefutottam hasonlóba, mint amit most szeretnél.
Örököltem egy kódot, ami egy táblából csinált egy rendezett kurzort, majd azon ment végig egyesével, és dinamikus SQLben kért új értéket egy szekvenciából, majd updatelte rá a tábla soraira, kvázi új indexet vezetett be.
Persze, hogy 15000 sor esetén húsz percig szöszmötölt rajta az Oracle.
Megoldás az lett, hogy egy segédtáblába leválogattam a fő tábla azonosítóit, meg a row_number() over (order by x,y) rn-t, aztán következett egy jól irányzott merge a fő táblára.
Egyből lefut 10 másodperc alatt...
Új hozzászólás Aktív témák
- EVGA GeForce GTX 1080 Ti FTW3 HYBRID
- Szép! HP EliteBook 855 G7 Fémházas Strapabíró Laptop 15,6" -65% AMD Ryzen 3 PRO 4450U 16/256 FHD
- Logitech G923 + állvány (PS5/PS4/PC) újszerű
- Bomba ár! HP Elitebook 850 G8 - i5-11GEN I 16GB I 256GB SSD I 15,6" FULLHD I Cam I W11 I Gari!
- Bomba ár! Lenovo ThinkPad L390 - i7-8GEN I 16GB I 256SSD I 13,3" FULL HD I HDMI I Cam I W11 I Gari!
- LG UltraGear 24GS60F-B IPS Monitor! 1920x1080 / 180Hz / 1ms / G-Sync / FreeSync
- Honor Magic7 Lite / 8/256GB / Kártyafüggetlen / 12Hó Garancia
- Samsung QM55B 55" UHD 4K LED Signage Reklámmonitor 27% ÁFÁS
- Hp 830 G8 Core i7 1185U 16Gb Ram Intel Iris FullHD IPS Boltból számlával Garanciával
- ÁRGARANCIA!Épített KomPhone i5 14400F 32/64GB RAM RTX 5060 Ti 8GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

