Найти Π² Π”Π·Π΅Π½Π΅
CODERIKK

πŸ”Ή Materialized view: ускоряСм запросы Π±Π΅Π· ΠΌΠ°Π³ΠΈΠΈ

πŸ”Ή Когда ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ materialized view? πŸ”Έ materialized view Ρ…Ρ€Π°Π½ΠΈΡ‚ Π·Π°Ρ€Π°Π½Π΅Π΅ вычислСнныС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ (precompute) Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ storage, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ шло ΠΈΠ· Π³ΠΎΡ‚ΠΎΠ²ΠΎΠΉ структуры β€” это Π΄Π°Ρ‘Ρ‚ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎΠ΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ query speed Π·Π° счёт избСгания ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹Ρ… тяТёлых вычислСний. πŸ”Έ Π Π΅ΡˆΠ°Π΅Ρ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ дорогостоящиС JOIN ΠΈ Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΈ, аналитичСскиС Π΄Π°ΡˆΠ±ΠΎΡ€Π΄Ρ‹ ΠΈ latencyβ€‘Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ API (интСрфСйс ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ программирования): вмСсто рС‑вычислСния β€” Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠ· materialized view. πŸ”Έ ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Ρ€Π΅ΠΆΠ΅, Ρ‡Π΅ΠΌ Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ пСрСсчёта Π²Ρ‹ΡˆΠ΅ стоимости хранСния, ΠΈΠ»ΠΈ Ссли Π‘Π£Π‘Π” (систСма управлСния Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…) ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ incremental refresh. НСбольшой ΠΏΡ€ΠΈΠΌΠ΅Ρ€: CREATE MATERIALIZED VIEW mv_daily_sales AS SELECT date(order_ts) AS day, sum(amount) AS total FROM orders GROUP BY date(order_ts); REFRESH MATERIALIZED VIEW mv_daily_sales; πŸ“š БалансируйтС precompute ΠΈ storage Ρ€Π°Π΄ΠΈ прСдсказуСмой query speed ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡŽ обновлСния. #CODERIKK #Sql #Senior ➑️ ΠœΡ‹ Π² Teleg

πŸ”Ή Materialized view: ускоряСм запросы Π±Π΅Π· ΠΌΠ°Π³ΠΈΠΈ

πŸ”Ή Когда ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ materialized view?

πŸ”Έ materialized view Ρ…Ρ€Π°Π½ΠΈΡ‚ Π·Π°Ρ€Π°Π½Π΅Π΅ вычислСнныС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ (precompute) Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ storage, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ шло ΠΈΠ· Π³ΠΎΡ‚ΠΎΠ²ΠΎΠΉ структуры β€” это Π΄Π°Ρ‘Ρ‚ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎΠ΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅ query speed Π·Π° счёт избСгания ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹Ρ… тяТёлых вычислСний.

πŸ”Έ Π Π΅ΡˆΠ°Π΅Ρ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ дорогостоящиС JOIN ΠΈ Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΠΈ, аналитичСскиС Π΄Π°ΡˆΠ±ΠΎΡ€Π΄Ρ‹ ΠΈ latencyβ€‘Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ API (интСрфСйс ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ программирования): вмСсто рС‑вычислСния β€” Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΠ· materialized view.

πŸ”Έ ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Ρ€Π΅ΠΆΠ΅, Ρ‡Π΅ΠΌ Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ, ΠΊΠΎΠ³Π΄Π° ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ пСрСсчёта Π²Ρ‹ΡˆΠ΅ стоимости хранСния, ΠΈΠ»ΠΈ Ссли Π‘Π£Π‘Π” (систСма управлСния Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…) ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ incremental refresh. НСбольшой ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

CREATE MATERIALIZED VIEW mv_daily_sales AS

SELECT date(order_ts) AS day, sum(amount) AS total

FROM orders

GROUP BY date(order_ts);

REFRESH MATERIALIZED VIEW mv_daily_sales;

πŸ“š БалансируйтС precompute ΠΈ storage Ρ€Π°Π΄ΠΈ прСдсказуСмой query speed ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡŽ обновлСния.

#CODERIKK #Sql #Senior

➑️ ΠœΡ‹ Π² Telegram - Π‘Π΅Ρ‚ΠΊΠ΅ - Π”Π·Π΅Π½

Π‘ΡƒΠ΄Ρƒ Ρ€Π°Π΄ вашСй Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ Π·Π΄Π΅ΡΡŒβ¬‡οΈ