Új hozzászólás Aktív témák
-
bpx
őstag
válasz
dellfanboy
#2336
üzenetére
amikor futtatsz egy lekérdezést, ahhoz az adatbázis végrehajtási tervet készít, és az optimizer az összes lehetséges tervet megvizsgálja, és azokból választja ki a szerinte optimálisat
ha mondjuk így néz ki az sql (Oracle), hogy:select /*+ ordered use_hash(tabla1 tabla2) */ oszlop1, oszlop2, ... from tabla1, tabla2, tabla3 ...
akkor a /*+ ... */ közti "kommentek" valójában optimizer hintek, amivel befolyásolhatod hogy milyen terv készüljön
az ordered azt jelenti, hogy a tábláknál a join sorrendje az lesz, ahogy le van írva az sql szövegében, és nem az adatbázis dönti el, tehát a fenti példában először veszi a tabla1-et, utána a tabla2-t, majd a tabla3-at
a use_hash meg azt jelenti, hogy a tabla1-nél es tabla2-nél hash joint fog használni (míg a hint nélkül lehet, hogy nested loops join vagy merge join lenne)azt meg, hogy miért jó a fromba beágyazott select, nem tudom

sokszor meg lehet oldani anélkül is, ha viszont kell, akkor meg van sokkal olvashatóbb módszer is: with .. as ..
pl. (persze itt pont nem kell, meg az egyszerűsége miatt nincs is nagy különbség, de most ennyire telik tőlem):select * from ( select * from hr.employees where hire_date > date '2005-01-01') e2005
where e2005.salary > 15000;
with e2005 as (select * from hr.employees where hire_date > date '2005-01-01')
select * from e2005 where e2005.salary > 15000; -
Ablakos
addikt
válasz
dellfanboy
#2336
üzenetére
Egy beillesztett kód ( eseteleg sql fejlesztői környezet megnevezéssel) biztosan többet mondana annak, aki segíteni szeretne és tud is.

Új hozzászólás Aktív témák
- GYÖNYÖRŰ iPhone 13 Mini 256GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS4647, 100% Akkumulátor
- Részletfizetés BankMentes Kamatmentes 12 havi részlet Lenovo Legion Pro 7 27% Áfás számla
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Inno3D RTX 4070 Ti // ÚJSZERŰ // SZÁMLA // GARANCIA //
- LG 39GX90SA - 39" Ívelt Smart OLED / QHD 2K / 240Hz & 0.03ms / 1300 Nits / NVIDIA G-Sync / FreeSync
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


