PostgreSQL Antipatterns: CTE x CTE
ΠΠΎ ΡΠΎΠ΄Ρ Π΄Π΅ΡΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡΡΡ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ Ρ ΡΠΈΡΡΠ°ΡΠΈΡΠΌΠΈ, ΠΊΠΎΠ³Π΄Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΠΈΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡ ΠΈ Π΄ΡΠΌΠ°Π΅Ρ Β«Π±Π°Π·Π° ΡΠΌΠ½Π°Ρ, ΡΠ°ΠΌΠ° ΡΠΎ Π²ΡΠ΅ΠΌ ΡΠΏΡΠ°Π²ΠΈΡΡΡ!Β« Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠ»ΡΡΠ°ΡΡ (ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΠΎΡ Π½Π΅Π·Π½Π°Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ ΠΠ, ΡΠ°ΡΡΠΈΡΠ½ΠΎ ΠΎΡ ΠΏΡΠ΅ΠΆΠ΄Π΅Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΉ) ΡΠ°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ Β«ΡΡΠ°Π½ΠΊΠ΅Π½ΡΡΠ΅ΠΉΠ½ΠΎΠ²Β». Π‘Π½Π°ΡΠ°Π»Π° ΠΏΡΠΈΠ²Π΅Π΄Ρ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°ΠΊΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ°: — Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠΉ ΠΏΠ°ΡΡ Π½Π°Ρ ΠΎΠ΄ΠΈΠΌ Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ WITH RECURSIVE cte_bind AS […]
