Oracle SQL рдХреА рдмреЛрд▓реА: рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдореЙрдбрд▓ред рднрд╛рдЧ реи

рдЫрд╡рд┐ рдпрд╣ SELECT рдХрдерди рдПрдХреНрд╕рдЯреЗрдВрд╢рди - рдореЙрдбрд▓ рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЗрдЦ рдХреА рдПрдХ рдирд┐рд░рдВрддрд░рддрд╛ рд╣реИред рдкрд╣рд▓реЗ рднрд╛рдЧ рд╕реЗ, рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрджреНрджреЗрд╢реНрдп рдФрд░ рдЗрд╕рдХреЗ рдЖрд╡реЗрджрди рдХреА рдХреБрдЫ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рдФрд░ рдЖрдзреЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╕реЗ рднреА рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВред рдЕрдЧрд▓рд╛, рдХрдИ рдЬрдЯрд┐рд▓ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рд╕рд╛рде рд╣реА рд╕рд╛рде рдЧреБрдВрдЬрд╛рдЗрд╢ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рднреА рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

MODEL рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрдиреНрдп рдЪрдпрдирд┐рдд рдмреНрд▓реЙрдХреЛрдВ рдХреЗ рдЕрдВрджрд░ рдХреБрд▓ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдЙрдкрдпреЛрдЧ рдкрд░ рдкреНрд░рддрд┐рдмрдВрдз рд▓рдЧрд╛рддрд╛ рд╣реИ (рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ, рд╕рднреА рдЪрдпрди рдпреЛрдЧреНрдп рдХреЙрд▓рдо MODEL рдореЗрдВ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рдЙрди рд▓реЛрдЧреЛрдВ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЬрд╛рдиреЗ рдЪрд╛рд╣рд┐рдП) - рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЗрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкрд╛рд░реНрдЯреАрд╢рди, BY, рдЖрдпрд╛рдо BY рдпрд╛ ME рдХреЗ тАЛтАЛрдорд╛рдзреНрдпрдо рд╕реЗ рдШреЛрд╖рд┐рдд рдХрд░реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд░рд▓ рдХреНрд╡реЗрд░реАред

SELECT employee_id, sum(amount)
FROM sales
GROUP BY employee_id;

рдХреЗ рдмрд░рд╛рдмрд░ рд╣реЛрдЧрд╛

SELECT employee_id, amt
FROM sales
GROUP BY employee_id
MODEL PARTITION BY (employee_id)
DIMENSION BY (0 dummy)
MEASURES (sum(amount) amt)
RULES ();


рдирд┐рдпрдореЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдП рдЧрдП рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреАрди рд╢рдмреНрджрд╛рд░реНрде рд╣реИрдВ: UPDATE, UPSERT, UPSERT ALLред рдЕрджреНрдпрддрди рдХреЗрд╡рд▓ рдЖрдкрдХреЛ рдЖрдЗрдЯрдо рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдпреВрдкреАрдПрд╕рдИрдЖрд░рдЯреА (рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ) рдХреЛ рд╕реНрдерд┐рддреАрдп рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрджрд▓рд╛ рдФрд░ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдпреВрдкреАрдПрд╕рдИрдЖрд░рдЯреА рд╕рднреА рдЖрдкрдХреЛ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдЗрдЯрдо рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╢рдмреНрджрд╛рд░реНрде рджреЛрдиреЛрдВ рдХреЛ рдПрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдирд┐рдпрдо рдХреЗ рд▓рд┐рдП рдмрджрд▓рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдирд┐рд░реНрджреЗрд╢ рдЗрд╕рдХреЗ рдкрд╣рд▓реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ), рдФрд░ рдкреВрд░реЗ рдмреНрд▓реЙрдХ рдХреЗ рд╕реНрддрд░ рдкрд░ (рдлрд┐рд░ рдирд┐рд░реНрджреЗрд╢ рдХреЛ рдирд┐рдпрдо рдХреЗ рдмрд╛рдж рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП)ред

рдпрд╣ рдЬрд╛рдирдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ UPSERT ALL рдлреЙрд░ рд▓реВрдк рдХреА рддрд░рд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдирдИ рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдЪрд╛рд░ рдЪрд░рдгреЛрдВ рдореЗрдВ рд╣реЛрддрд╛ рд╣реИред
  1. рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд▓рд┐рдВрдХ рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рднреА рддрддреНрд╡ рдкрд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред
  2. рдкреНрд░рддреНрдпреЗрдХ рдЖрдпрд╛рдо рдХреЗ рд▓рд┐рдП, рдЕрджреНрд╡рд┐рддреАрдп рд╕реВрдЪрдХрд╛рдВрдХ рдореВрд▓реНрдпреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИред
  3. рдЗрди рд╕реЗрдЯреЛрдВ рдХреЗ рдХрд╛рд░реНрдЯреЗрд╢рд┐рдпрди рдЙрддреНрдкрд╛рдж рдХреА рдЧрдгрдирд╛ рдХреА рдЬрд╛рддреА рд╣реИред
  4. рдХрд╛рдо рдореЗрдВ рдореМрдЬреВрдж рд╕рднреА рдЧреИрд░-рдореМрдЬреВрдж рддрддреНрд╡ рдмрдирд╛рдП рдЬрд╛рддреЗ рд╣реИрдВред

рдЬрдЯрд┐рд▓ рдЙрджрд╛рд╣рд░рдг


рдЫрд╡рд┐ рдЕрдВрдд рдореЗрдВ, рдХреБрдЫ рдЙрджрд╛рд╣рд░рдгреЛрдВ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ рдХрд┐ MODEL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рджрд┐рди рдПрдХ рд▓рд╛рдЗрди рдореЗрдВ рдкреАрдиреЗ рд╡рд╛рд▓реЗ рдХреЙрдлреА рдХреА рд╕реВрдЪреА рджреЗрдВрдЧреЗ:

SELECT day, substr(type, 2) listing
FROM coffee
MODEL RETURN UPDATED ROWS
PARTITION BY (day)
DIMENSION BY (row_number() OVER ( PARTITION BY day ORDER BY type) position)
MEASURES (type, cnt)
RULES ITERATE (100500) UNTIL (presentv(type[iteration_number + 2], 1, 0) = 0) (
type[0] = type[0] || ', ' || cnt[iteration_number + 1] || ' x ' || type[iteration_number + 1]
)
ORDER BY day;

DAY LISTING
---------- ----------------------------------------
1 1 x espresso, 1 x turkish
2 1 x black, 1 x espresso, 2 x turkish
3 3 x latte
4 2 x black, 1 x ice

рдлрд╝рдВрдХреНрд╢рди presentv (рд░реЗрдлрд░реА, arg1, arg2) рд╕реЗ , рдпрд╣рд╛рдБ рдирдпрд╛, рдпрд╣ arg1 рд░рд┐рдЯрд░реНрди рдЕрдЧрд░ рд░реЗрдлрд░реА рд╕рдВрджрд░реНрдн рддрддреНрд╡ рдХреЗ рд╕рд╛рде рдПрдХ рдореМрдЬреВрджрд╛ рддрддреНрд╡ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ NULL рдорд╛рди рдФрд░ arg2 рдЕрдиреНрдпрдерд╛ред рд▓рд╛рдЗрди рдирдВрдмрд░рд┐рдВрдЧ рдФрд░ рдирд╛рдо рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЫрд╛рдВрдЯрдиреЗ рдХреЗ рд▓рд┐рдП, рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдлрд╝рдВрдХреНрд╢рди (row_number () OVER (рдкрд╛рд░реНрдЯрд┐рд╢рди рдмрд╛рдп рджрд┐рди ORDER BY рдкреНрд░рдХрд╛рд░) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореЙрдбрд▓ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдлрд╝рдВрдХреНрд╢рди рджреЛрдиреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрди (рд╡рд┐рднрд╛рдЬрди рдмрд╛рдп) рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддреНрдпреЗрдХ рджрд┐рди рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ рд╕реЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдФрд░, рдЖрдЦрд┐рд░рдХрд╛рд░, рдПрдХ рдЬреНрдпрд╛рдорд┐рддреАрдп рдЙрджрд╛рд╣рд░рдгред рдЕрдиреНрддрд░реНрд╡рд┐рднрд╛рдЬрдХ рдЦрдВрдбреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ [p1, P2] рд╕реАрдзреА рд░реЗрдЦрд╛ рдкрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ; рдЖрдкрдХреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЦрдВрдбреЛрдВ рд╕реЗ рдЖрдЪреНрдЫрд╛рджрд┐рдд рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдХреА рдХреНрд░рдордмрджреНрдз рд╕реВрдЪреА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:

SELECT * FROM lines;

P1 P2
---------- ----------
1 6
5 7
2 4
8 20
11 28
30 32


рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдкреА 2> = рдкреА 1, рдмреЗрддрд░рддреАрдм рдврдВрдЧ рд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдЦрдВрдбреЛрдВ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХреЛ рдЗрдЪреНрдЫреБрдХ рд▓реЛрдЧреЛрдВ рдХреЛ рдЧрд░реНрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рддреЛ рдЙрджрд╛рд╣рд░рдг рдХреЛрдб:

SELECT p1, max(p2) p2
FROM (
SELECT p1, p2 FROM lines
MODEL DIMENSION BY (row_number() OVER ( ORDER BY p1, p2) rn)
MEASURES (p1, p2)
RULES AUTOMATIC ORDER (
p1[rn > 1] ORDER BY rn = CASE sign(p2[cv(rn) - 1] - p1[cv(rn)])
WHEN 1 THEN p1[cv(rn) - 1]
ELSE p1[cv(rn)]
END ,
p2[rn > 1] ORDER BY rn = greatest(p2[cv(rn) - 1], p2[cv(rn)])
)
)
GROUP BY p1
ORDER BY p1;

P1 P2
---------- ----------
1 7
8 28
30 32


рдореЙрдбрд▓ рдХреЗ рд╕реЗрдЧрдореЗрдВрдЯ рдХреЛ рдкрд╣рд▓реЗ рдмрд╛рдПрдВ рдмрд┐рдВрджреБрдУрдВ рд╕реЗ рдХреНрд░рдордмрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХреНрд░рдорд╛рдВрдХрд┐рдд (row_number () OVER (ORDER BY p1, P2)) рджреНрд╡рд╛рд░рд╛ рдХреНрд░рдордмрджреНрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдКрдкрд░ рд╕реЗ рдиреАрдЪреЗ рдХреА рдУрд░ рд╕рдВрдЦреНрдпрд╛ (ORDER BY rn directive) рдкрд░ рджреЗрдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдкрд╣рд▓реА рдмрд╛рд░, рд╕рдорд╛рдирддрд╛ рдХреЗ рдмрд╛рдИрдВ рдУрд░ рдПрдХ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд▓рд┐рдВрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдЙрд╕ рдЖрджреЗрд╢ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрджрд┐ рджреЗрдЦреЗ рдЧрдП рдЦрдВрдб рдХрд╛ рдмрд┐рдВрджреБ p1 рдкрд┐рдЫрд▓реЗ рдЦрдВрдб рдХрд╛ рд╣реИ, рддреЛ рдЙрд╕реЗ рдкрд┐рдЫрд▓реЗ рдЦрдВрдб рдХреЗ p1 рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред P2 рдХреЛ рд╡рд░реНрддрдорд╛рди рдФрд░ рдкрд┐рдЫрд▓реЗ рд╕реЗрдЧрдореЗрдВрдЯ рдореЗрдВ рд╕рдмрд╕реЗ рд╕рд╣реА P2 рджреНрд╡рд╛рд░рд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдиреАрдЪреЗ рдЬрд╛рдХрд░, рд╣рдо рдЦрдВрдбреЛрдВ рджреНрд╡рд╛рд░рд╛ рдХрд╡рд░ рдХреА рдЧрдИ рд╕реАрдорд╛ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЖрджреЗрд╢ рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдкреА 1 рдФрд░ рдкреА 2 рдХреЛ рд╡рд░реНрддрдорд╛рди рдЦрдВрдб рдХреЗ рдмрджрд▓реЗ рдореЗрдВ рдкрдврд╝рд╛ рдЬрд╛рдПред рдпрджрд┐ рдЖрдк рдирд┐рд░реНрджреЗрд╢ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВ, рддреЛ рд╕рднреА рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд╣рд▓рд╛ рдирд┐рдпрдо рдкрд╣рд▓реЗ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЙрд╕рдХреЗ рдмрд╛рдж рд╣реА рджреВрд╕рд░рд╛ред рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддрд┐ рдореЗрдВ, рдпрд╣ рдирд┐рд░реНрджреЗрд╢ рдирд┐рдпрдореЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддреЗ рд╕рдордп рддрддреНрд╡реЛрдВ рдХреЗ рдмреАрдЪ рдирд┐рд░реНрднрд░рддрд╛ рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддрд╛ рд╣реИ рдФрд░ рдЙрдирдХреА рдкрд░рд┐рдзрд┐ рдХреЗ рдЖрджреЗрд╢ рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд░ рд╕рдХрддрд╛ рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╣реИ)ред

рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдФрд░ рдкреНрд░рджрд░реНрд╢рди


рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореЙрдбрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реЛрддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЬрдЯрд┐рд▓ рдЪреАрдЬреЛрдВ рдХрд╛ 90% рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдХрд╛рд░реНрдпреЛрдВ рджреНрд╡рд╛рд░рд╛ рд╣рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЬреЛ 10% MODEL рдХреЗ рд▓рд┐рдП рдмрдиреЗ рд░рд╣рддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдкрд░рдВрдкрд░рд╛рдЧрдд рд░реВрдк рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрддрд░ рд╕реЗ рдирд┐рдХрд╛рд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рд╡рдЬреВрдж, рдпрд╣рд╛рдВ рдореБрдЦреНрдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд░рд┐рджреГрд╢реНрдп рд╣реИрдВ:
рдкреНрд░рджрд░реНрд╢рди рд╕рд░рд▓ рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдореЙрдбрд▓ рд╕рдорд╛рди PL / SQL рдХреЛрдб рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рддреЗрдЬ рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдзреАрдорд╛ рд╣реИред EXPLAIN PLAN рд╕реЗ, рдЖрдк рдЕрдиреБрд░реЛрдз рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рд╡рд┐рд╡рд░рдг рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдлрд╛рд╕реНрдЯ рдПрдиреЛрдЯреЗрд╢рди рд╣реЛрдиреЗ рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реИред рдпрд╣ рдЗрд╕ рд╢рд░реНрдд рдХреЗ рддрд╣рдд рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рд╕рдорд╛рдирддрд╛ рдХреЗ рд╕рднреА рдмрд╛рдПрдВ рд╣рд┐рд╕реНрд╕реЗ рд╕реНрдерд┐рддреАрдп рд▓рд┐рдВрдХ рд╣реИрдВ, рдпрд╛ рдмрд╛рдИрдВ рдУрд░ рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд▓рд┐рдВрдХ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рд╕рд░рд▓ рдЕрдВрдХрдЧрдгрд┐рддреАрдп рд╕рдордЧреНрд░ рдХрд╛рд░реНрдп (рд░рд╛рд╢рд┐, рдПрд╡реАрдЬреА, рдЖрджрд┐) рджрд╛рдИрдВ рдУрд░ рд╣реИрдВред рддрджрдиреБрд╕рд╛рд░, рдЧрддрд┐ рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ, MODEL FAST рд╡рд┐рд╢реНрд▓реЗрд╖рдгрд╛рддреНрдордХ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдХрд░реАрдм рд╣реИ, рдЬрдмрдХрд┐ MODEL CYCLIC PL / SQL рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЦреЗрд▓ рд╕рдХрддрд╛ рд╣реИред

рд╕рд╛рд╣рд┐рддреНрдп


  1. Oracle┬о Database Data Warehousing Guide 11g рд░рд┐рд▓реАрдЬрд╝ 2 - рдЕрдзреНрдпрд╛рдп 22 "рдореЙрдбрд▓рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП SQL"ред рдЫрд╡рд┐
  2. Oracle рдбрд╛рдЯрд╛рдмреЗрд╕ 10g рдХрд╛ SQL рдореЙрдбрд▓ рдХреНрд▓реЙрдЬред рдЫрд╡рд┐

Source: https://habr.com/ru/post/In101301/


All Articles