λ§ν¬λ² μ΄μ€ λ€μ€μ μ΅μ λ²μ μΈ v8.0.69λΆν° 쑰건μ λΆμ¬ν λ°μ΄ν°λ§ λ‘€μ
μ ν μμλλ‘ κΈ°λ₯μ΄ μΆκ° λμμ΅λλ€.
κΈ°μ‘΄μ κ³ κ°λ€κ»μ νμ
¨λ λ§μ μμ² μ€μ νλλ "νκ·Έ ν
μ΄λΈμ μ
λ ₯λλ λ°μ΄ν° μ€μμ λ
Έμ΄μ¦ λ°μ΄ν°κ° μλλ° μ΄κ²μ λ‘€μ
ν
μ΄λΈμμλ ν¬ν¨νκ³ μΆμ§ μλ€"λ κ²μ΄μμ΅λλ€.
κ·Έλ¬λ, κΈ°μ‘΄μ λ§ν¬λ² μ΄μ€μ λ‘€μ
μ λͺ¨λ λ°μ΄ν°κ° λ‘€μ
μ λμμ΄ λμκΈ° λλ¬Έμ νΉμ ν 쑰건μ μ£Όλ κ²μΌλ‘ ν΄λΉ λ°μ΄ν°λ₯Ό μ μΈμν€λ κ²μ΄ λΆκ°λ₯νμ΅λλ€.
μ΄λ¬ν λ¬Έμ λ₯Ό ν΄κ²°νκ³ μ μλμ κ°μ΄ μ¬μ©μ 컀μ€ν
λ‘€μ
μμ±μμ 쑰건μ λ£μ μ μλλ‘ λ¬Έλ²μ΄ μΆκ°λμμ΅λλ€.
CREATE ROLLUP <rollup_name> ON <table_name>(<value_col>) INTERVAL <n> <SEC|MIN|HOUR> [WITH <props>] [WHERE <predicate>];
μ¦, μλμ κ°μ΄ μ¬λ¬κ°μ§ 쑰건μ λΆμ¬ν μ μκ² λμμ΅λλ€.
CREATE ROLLUP _tag_rollup_cond_1s ON tag(value) INTERVAL 1 SEC EXTENSION WHERE value2 >= 50 AND status >= 2;
μμ 보λΌμ μμμμ λ‘€μ
μμ±μμ value2 컬λΌμ κ°μ΄ 50λ³΄λ€ κ°κ±°λ ν¬κ³ , statusμ κ°μ΄ 2λ³΄λ€ κ°κ±°λ ν° κ²½μ°μλ§ λ‘€μ
λμμ΄ λλλ‘ νλ κ²μ
λλ€.
λν, μ΄λ κ² μμ±λ λλ§μ λ‘€μ
μ μ§μ ν΄μ μ¬μ©ν μ μλλ‘ κ΄λ ¨ ννΈ κΈ°λ₯λ ROLLUP_TABLE ν€μλλ₯Ό μ¬μ©ν μ μκ² λμ΄ μλμ κ°μ΄ μΆκ° λμμ΅λλ€.
SELECT /*+ ROLLUP_TABLE(_tag_rollup_cond_1s) */ rollup('sec', 30, time) AS rt, AVG(value) FROM tag WHERE name = 'dev9' AND time BETWEEN '2020-01-02' AND '2020-01-02' GROUP BY rt ORDER BY rt;
μμ μ§μλ rollupμ μ¬μ©ν λ λ΄κ° λ§λ€μλ λ‘€μ
ν
μ΄λΈ _tag_rollup_cond_1s μ μ§μ ν΄μ μ΄μ©νλλ‘ νλ κ²μ
λλ€.
λͺ¨μͺΌλ‘ ν΄λΉ κΈ°λ₯μ ν΅ν΄ λ νΈνκ³ , μ½κ² κ΄λ ¨λ λ°μ΄ν°λ₯Ό νμ©νμ€ μ μκΈ°λ₯Ό κΈ°μν©λλ€.βΊοΈ |