Hirdetés
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Samus: Oldschool játékos konfig a memóriaválság idején
- sziku69: Fűzzük össze a szavakat :)
- gban: Ingyen kellene, de tegnapra
- bitpork: Ha Isten létezik...
- Luck Dragon: Asszociációs játék. :)
- koxx: Bloons TD5 - Tower Defense játék
- Luck Dragon: Alza kuponok – aktuális kedvezmények, tippek és tapasztalatok (külön igényre)
- Toomy: FOXPOST: régen jó volt, de már jobban jársz, ha elfelejted
- sh4d0w: Van-e még?
Ú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
Hirdetés
- Battlefield 6
- Xbox tulajok OFF topicja
- Tesla topik
- Forza sorozat (Horizon/Motorsport)
- One otthoni szolgáltatások (TV, internet, telefon)
- Gyúrósok ide!
- Kegyvesztett lehet a Radeon termékskála középső tagja
- Autós topik
- exHWSW - Értünk mindenhez IS
- Luxuspóráz: okosláncot akasztana a nyakadba az Apple
- További aktív témák...
- Apple Watch Series 11 46MM 100% Akkuval Fekete színben 2026.09.19-ig Apple Garanciával
- Asus Zenfone 10 16/512 garanciával - mint az új
- Thinkpad X13 Gen3 13.3" FHD+ IPS i7-1265U 16GB 512GB NVMe gar
- Eladó Apple iPad Air 13 (7. gen) 128 GB, Wi-Fi, Asztroszürke Bontott nem használt.
- PNY GeForce RTX 5060 Ti 16GB EPIC-X RGB Overclocked, Triple Fan
- Apple iPhone 15 Pro Max 256 GB White Titanium 1 év Garancia Beszámítás Házhozszállítás
- Intel Xeon E5-2600v4 processzorok készleten 2680v4,2683v4,2697v4,2697Av4(áfás számla, 2 év garancia)
- Fujitsu Esprimo D7011 Intel i7-11700 16GB 512GB 1 év garancia
- Dell Latitude E7470. Olcsó üzleti kategóriás laptop! Új akkumulátor!
- Telefon felvásárlás!! Apple Watch Series 6/Apple Watch Series 7/Apple Watch Series 8
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs

