πΉ ΠΠΎΠ³Π΄Π° ΠΈ Π·Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ 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: ΡΡΠΊΠΎΡΡΠ΅ΠΌ Π·Π°ΠΏΡΠΎΡΡ Π±Π΅Π· ΠΌΠ°Π³ΠΈΠΈ
Π‘Π΅Π³ΠΎΠ΄Π½ΡΠ‘Π΅Π³ΠΎΠ΄Π½Ρ
~1 ΠΌΠΈΠ½