Hirdetés
- iPhone topik
- Milyen okostelefont vegyek?
- OnePlus 15 - van plusz energia
- Kijavították az iPhone Air legfőbb hibáját
- Honor 50 - apám nevében
- Poco F8 Pro – titkos favorit lehet belőle
- Samsung Galaxy A56 - megbízható középszerűség
- Xiaomi 15T Pro - a téma nincs lezárva
- Honor Magic6 Pro - kör közepén számok
- Youtube Android alkalmazás alternatívák reklámszűréssel / videók letöltése
Ú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
- Új Mac Studio M4 Max 2025 14C CPU /32C GPU / 36GB RAM / 512GB
- Cooler Master V550 80+ Gold moduláris táp
- 3090Ti videokártyát keresek megvételre .
- Szép állapotban Lenovo ThinkPad T14 Gen 2 /i5-1145G7/16 GB/256 SSD/FHD/IPS/Gari ÚJ fedlap és kijelző
- HP EliteBook 840 G11 Ultra 7 / 16GB RAM / 512GB SSD / FHD+ IPS / Garancia 2027.11.
- Dell Latitude 5440 - i7-1365U, 16GB RAM, SSD, jó akku számla, garancia
- Telefon felvásárlás!! iPhone 12 Mini/iPhone 12/iPhone 12 Pro/iPhone 12 Pro Max
- Apple iPhone 11 64GB, Kártyafüggetlen, 1 Év Garanciával
- Keresünk iPhone 15/15 Plus/15 Pro/15 Pro Max
- iPhone 17 Pro 256 GB Silver - Bontatlan !! www.stylebolt.hu - Apple eszközök és tartozékok - Számlás
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: Central PC számítógép és laptop szerviz - Pécs
Város: Pécs


