Hirdetés
- bb0t: Ikea PAX gardrób és a pokol logisztikája
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- urandom0: Száműztem az AI-t az életemből
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- f(x)=exp(x): A laposföld elmebaj: Vissza a jövőbe!
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- Magga: PLEX: multimédia az egész lakásban
- sziku69: Fűzzük össze a szavakat :)
- gban: Ingyen kellene, de tegnapra
Ú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
- Milyen routert?
- Bestbuy játékok
- Több száz játékban kezdi meg karrierjét az FSR Redstone
- Házimozi belépő szinten
- Filmvilág
- CADA, Polymobil, és más építőkockák
- Milyen alaplapot vegyek?
- Milyen egeret válasszak?
- Digitális Állampolgárság Program DÁP
- TGA2025 - Lara Croft felbukkanása már szinte borítékolt
- További aktív témák...
- Bomba ár! Dell Latitude E7450 - i7-5GEN I 8GB I 256SSD I 14" FHD Touch I HDMI I Cam I W10 I Gari!
- Corsair Vengeance White RGB 2x16Gb 6000 cl36 bontatlan/új eladó (XMP/Expo)
- Dell Latitude 7290- I5 7 gen - 8Gb -256Gb
- Nikon D750 + 50mm f/1.4G + 24-120mm f/4G + Lowepro Mini Trekker AW szett
- GAMER PC - TUF B450, Ryzen5 5600x, Rtx 3070 8gb, 32gb DDR4, 1 TB Nvme
- Honor 90 512GB, Kártyafüggetlen, 1 Év Garanciával
- HIBÁTLAN iPhone 13 Pro 128GB Alphine Green -1 ÉV GARANCIA - Kártyafüggetlen, MS3024
- BESZÁMÍTÁS! 10TB WD Purple Pro SATA HDD meghajtó garanciával hibátlan működéssel
- Használt számítógépek/merevlemezek számlával, garanciával! Ingyen Foxpost/PostaPont!
- Honor 200 Lite / 8/256GB / Kártyafüggetlen / 12HÓ Garancia
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: BroadBit Hungary Kft.
Város: Budakeszi

