рдПрдХ рдХреНрд▓рд╛рд╕рд┐рдХ рд╕рд╡рд╛рд▓ рдЬреЛ рдПрдХ рдбреЗрд╡рд▓рдкрд░ рдЕрдкрдиреЗ рдбреАрдмреАрдП рдпрд╛ рдПрдХ рд╡реНрдпрд╡рд╕рд╛рдп рдХреЗ рдорд╛рд▓рд┐рдХ, рдПрдХ рдкреЛрд╕реНрдЯрдЧреНрд░реЗрдХреНрд╕реЗрд▓ рдХрдВрд╕рд▓реНрдЯреЗрдВрдЯ рдХреЗ рдкрд╛рд╕ рдЖрддрд╛ рд╣реИ, рд▓рдЧрднрдЧ рд╣рдореЗрд╢рд╛ рдПрдХ рд╣реА рд▓рдЧрддрд╛ рд╣реИ:
"рдЗрддрдиреЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдкрд░ рдкреНрд░рд╢реНрди рдХреНрдпреЛрдВ рдЪрд▓рддреЗ рд╣реИрдВ?"рдХрд╛рд░рдгреЛрдВ рдХрд╛ рдкрд╛рд░рдВрдкрд░рд┐рдХ рд╕реЗрдЯ:
- рдЕрдХреНрд╖рдо рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо
рдЬрдм рдЖрдкрдиреЗ рд╣рдЬрд╝рд╛рд░реЛрдВ рд░рд┐рдХреЙрд░реНрдб рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рдХреЗ рд▓рд┐рдП рдХрдИ рд╕реАрдЯреАрдИ рдХрд╛ рдПрдХ рдЬрд┐рдиреНрди рдмрдирд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ - рдЕрдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдЖрдБрдХрдбрд╝реЗ
рдпрджрд┐ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдбреЗрдЯрд╛ рд╡рд┐рддрд░рдг рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрд▓рдЧ рд╣реИ рддреЛ ANALYZE рдиреЗ рдЗрд╕реЗ рдПрдХрддреНрд░ рдХрд┐рдпрд╛ - рд╕рдВрд╕рд╛рдзрдиреЛрдВ рджреНрд╡рд╛рд░рд╛ "рдЧреИрдЧ"
рдФрд░ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реАрдкреАрдпреВ рдХреА рдкрд░реНрдпрд╛рдкреНрдд рд╕рдорд░реНрдкрд┐рдд рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рд╢рдХреНрддрд┐ рдирд╣реАрдВ рд╣реИ, рд╕реНрдореГрддрд┐ рдХреЗ рдЧреАрдЧрд╛рдмрд╛рдЗрдЯ рд▓рдЧрд╛рддрд╛рд░ рдкрдВрдк рд╣реЛрддреЗ рд╣реИрдВ рдпрд╛ рдбрд┐рд╕реНрдХ рд╕рднреА рдбреЗрдЯрд╛рдмреЗрд╕ "рд╡рд┐рд╢рд▓рд┐рд╕реНрдЯ" рдХреЗ рд╕рд╛рде рдирд╣реАрдВ рд░рд╣рддреА рд╣реИ - рдкреНрд░рддрд┐рд╕реНрдкрд░реНрдзреА рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рд╕реЗ рдЕрд╡рд░реБрджреНрдз
рдФрд░ рдЕрдЧрд░ рддрд╛рд▓реЗ рдХреЛ рдкрдХрдбрд╝рдирд╛ рдФрд░ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рдХрд╛рдлреА рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рддреЛ рдмрд╛рдХреА рд╕рдм рдЪреАрдЬреЛрдВ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ
рдПрдХ рдХреНрд╡реЗрд░реА рдкреНрд▓рд╛рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ,
рдЬрд┐рд╕реЗ EXPLAIN рдСрдкрд░реЗрдЯрд░ (
рдмреЗрд╣рддрд░, рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рддреБрд░рдВрдд EXPLAIN (ANALYZE, BUFFERS) ... ) рдпрд╛
auto_explain рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд▓реЗрдХрд┐рди, рдЬреИрд╕рд╛ рдХрд┐ рдПрдХ рд╣реА рджрд╕реНрддрд╛рд╡реЗрдЬ рдореЗрдВ рдХрд╣рд╛ рдЧрдпрд╛ рд╣реИ,
"рдпреЛрдЬрдирд╛ рдХреЛ рд╕рдордЭрдирд╛ рдПрдХ рдХрд▓рд╛ рд╣реИ, рдФрд░ рдЗрд╕рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдкрдХреЛ рдХреБрдЫ рдЕрдиреБрднрд╡ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, ..."
рд▓реЗрдХрд┐рди рдЖрдк рдЗрд╕рдХреЗ рдмрд┐рдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрдЧрд░ рдЖрдк рд╕рд╣реА рдЙрдкрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ!
рдХреНрд╡реЗрд░реА рдкреНрд▓рд╛рди рдЖрдорддреМрд░ рдкрд░ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ? рдХреБрдЫ рдЗрд╕ рддрд░рд╣:
Index Scan using pg_class_relname_nsp_index on pg_class (actual time=0.049..0.050 rows=1 loops=1) Index Cond: (relname = $1) Filter: (oid = $0) Buffers: shared hit=4 InitPlan 1 (returns $0,$1) -> Limit (actual time=0.019..0.020 rows=1 loops=1) Buffers: shared hit=1 -> Seq Scan on pg_class pg_class_1 (actual time=0.015..0.015 rows=1 loops=1) Filter: (relkind = 'r'::"char") Rows Removed by Filter: 5 Buffers: shared hit=1
рдпрд╛ рдЗрд╕ рддрд░рд╣:
"Append (cost=868.60..878.95 rows=2 width=233) (actual time=0.024..0.144 rows=2 loops=1)" " Buffers: shared hit=3" " CTE cl" " -> Seq Scan on pg_class (cost=0.00..868.60 rows=9972 width=537) (actual time=0.016..0.042 rows=101 loops=1)" " Buffers: shared hit=3" " -> Limit (cost=0.00..0.10 rows=1 width=233) (actual time=0.023..0.024 rows=1 loops=1)" " Buffers: shared hit=1" " -> CTE Scan on cl (cost=0.00..997.20 rows=9972 width=233) (actual time=0.021..0.021 rows=1 loops=1)" " Buffers: shared hit=1" " -> Limit (cost=10.00..10.10 rows=1 width=233) (actual time=0.117..0.118 rows=1 loops=1)" " Buffers: shared hit=2" " -> CTE Scan on cl cl_1 (cost=0.00..997.20 rows=9972 width=233) (actual time=0.001..0.104 rows=101 loops=1)" " Buffers: shared hit=2" "Planning Time: 0.634 ms" "Execution Time: 0.248 ms"
рд▓реЗрдХрд┐рди "рд╢реАрдЯ рд╕реЗ" рдкрд╛рда рдХреЗ рд╕рд╛рде рдпреЛрдЬрдирд╛ рдХреЛ рдкрдврд╝рдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рдФрд░ рдкреНрд░рд┐рдп рд╣реИ:
- рдиреЛрдб рд╕рдмрдЯреНрд░реА рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдпреЛрдЧ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИ
рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдиреЛрдб рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдХрд┐рддрдирд╛ рд╕рдордп рд▓рдЧрд╛, рдпрд╛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдбрд┐рд╕реНрдХ рд╕реЗ рдбреЗрдЯрд╛ рдЙрдард╛рдпрд╛ рддрд╛рд▓рд┐рдХрд╛ рд╕реЗ рдХрд┐рддрдирд╛ рдкрдврд╝рдиреЗ рдореЗрдВ - рдЖрдкрдХреЛ рдХрд┐рд╕реА рддрд░рд╣ рдПрдХ рдХреЛ рджреВрд╕рд░реЗ рд╕реЗ рдШрдЯрд╛рдирд╛ рд╣реЛрдЧрд╛ - рдиреЛрдб рд╕рдордп рдХреЛ рдЫреЛрд░реЛрдВ рд╕реЗ рдЧреБрдгрд╛ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП
рд╣рд╛рдВ, рдШрдЯрд╛рд╡ рд╕рдмрд╕реЗ рдХрдард┐рди рдСрдкрд░реЗрд╢рди рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕реЗ "рджрд┐рдорд╛рдЧ рдореЗрдВ" рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдЖрдЦрд┐рд░рдХрд╛рд░, рд░рдирдЯрд╛рдЗрдо рдХреЛ рдиреЛрдб рдХреЗ рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдкрд░ рдФрд╕рддрди рдЗрдВрдЧрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЙрдирдореЗрдВ рд╕реЗ рд╕реИрдХрдбрд╝реЛрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ - рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рдФрд░ рдпрд╣ рд╕рдм рдорд┐рд▓рдХрд░ рдореБрдЦреНрдп рдкреНрд░рд╢реНрди рдХрд╛ рдЙрддреНрддрд░ рджреЗрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдмрдирд╛рддрд╛ рд╣реИ - рддреЛ "рд╕рдмрд╕реЗ рдХрдордЬреЛрд░ рдХрдбрд╝реА" рдХреМрди рд╣реИ?
рдЬрдм рд╣рдордиреЗ рдЕрдкрдиреЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рдХрдИ рд╕реМ рд▓реЛрдЧреЛрдВ рдХреЛ рдпрд╣ рд╕рдм рд╕рдордЭрд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рддреЛ рд╣рдордиреЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдмрд╛рд╣рд░ рд╕реЗ рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

рдФрд░ рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рд╣рдореЗрдВ рдЬрд╝рд░реВрд░рдд рд╣реИ ...
рд╕рд╛рдзрди
рдЗрд╕рдореЗрдВ, рд╣рдордиреЗ рд╕рднреА рдкреНрд░рдореБрдЦ рдореИрдХреЗрдирд┐рдХреЛрдВ рдХреЛ рдЗрдХрдЯреНрдард╛ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдЬреЛ рдпреЛрдЬрдирд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдорджрдж рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ "рдХрд┐рд╕реЗ рджреЛрд╖ рджреЗрдирд╛ рд╣реИ рдФрд░ рдХреНрдпрд╛ рдХрд░рдирд╛ рд╣реИред" рдЦреИрд░, рдЕрдкрдиреЗ рдХреБрдЫ рдЕрдиреБрднрд╡ рд╕рдореБрджрд╛рдп рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░реЗрдВред
рдорд┐рд▓рддреЗ рд╣реИрдВ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ -
Explan.tensor.ruрд╕реНрдкрд╖реНрдЯ рдпреЛрдЬрдирд╛рдПрдБ
рдХреНрдпрд╛ рдПрдХ рдпреЛрдЬрдирд╛ рдХреЛ рд╕рдордЭрдирд╛ рдЖрд╕рд╛рди рд╣реИ рдЬрдм рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ?
Seq Scan on pg_class (actual time=0.009..1.304 rows=6609 loops=1) Buffers: shared hit=263 Planning Time: 0.108 ms Execution Time: 1.800 ms
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдирд╣реАрдВред
рд▓реЗрдХрд┐рди рдЗрд╕ рддрд░рд╣,
рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд░реВрдк рдореЗрдВ , рдЬрдм рдХреБрдВрдЬреА рд╕рдВрдХреЗрддрдХ рдЕрд▓рдЧ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ - рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмрд╣реБрдд рд╕реНрдкрд╖реНрдЯ рд╣реИ:

рд▓реЗрдХрд┐рди рдпрджрд┐ рдпреЛрдЬрдирд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реИ, рддреЛ рдиреЛрдбреНрд╕ рджреНрд╡рд╛рд░рд╛
piechart рд╕рдордп рд╡рд┐рддрд░рдг рдмрдЪрд╛рд╡ рдореЗрдВ рдЖрдПрдЧрд╛:

рд╕рдмрд╕реЗ рдХрдард┐рди рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ,
рдирд┐рд╖реНрдкрд╛рджрди рдЖрд░реЗрдЦ рдорджрдж рдХреЗ рд▓рд┐рдП рджреЗрддрд╛ рд╣реИ:

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


рд╕реНрдЯреНрд░рдХреНрдЪрд░рд▓ рдЯрд┐рдкреНрд╕
рдареАрдХ рд╣реИ, рдФрд░ рдЕрдЧрд░ рдпреЛрдЬрдирд╛ рдХреА рдкреВрд░реА рд╕рдВрд░рдЪрдирд╛ рдФрд░ рдЗрд╕рдХреЗ рдЧрд▓реЗ рдореЗрдВ рдзрдмреНрдмреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ рдФрд░ рджрд┐рдЦрд╛рдИ рджреЗрддреЗ рд╣реИрдВ - рддреЛ рдЙрдиреНрд╣реЗрдВ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд╕рд╛рде рдЙрдЬрд╛рдЧрд░ рдХреНрдпреЛрдВ рди рдХрд░реЗрдВ рдФрд░ рдЙрдиреНрд╣реЗрдВ "рд░реВрд╕реА рднрд╛рд╖рд╛" рдХреЗ рд╕рд╛рде рд╕рдордЭрд╛рдПрдВ?

рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рджрд░реНрдЬрди рд╕реЗ рдЕрдзрд┐рдХ рд╕рд┐рдлрд╛рд░рд┐рд╢реЗрдВ рдПрдХрддреНрд░ рдХрд░ рдЪреБрдХреЗ рд╣реИрдВред
рдХреНрд╡реЗрд░реА рдкреНрд░реЛрдлрд╛рдЗрд▓рд░
рдЕрдм, рдпрджрд┐ рдЖрдк рдореВрд▓ рдХреНрд╡реЗрд░реА рдХреЛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреА рдЧрдИ рдпреЛрдЬрдирд╛ рдкрд░ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдСрдкрд░реЗрдЯрд░ рдХреЛ рдХрд┐рддрдирд╛ рд╕рдордп рд▓рдЧрд╛ - рдРрд╕рд╛ рдХреБрдЫ:

... рдпрд╛ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐:

рдЕрдиреБрд░реЛрдз рдореЗрдВ рдорд╛рдкрджрдВрдбреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди
рдпрджрд┐ рдЖрдк "рд╕рдВрд▓рдЧреНрди" рди рдХреЗрд╡рд▓ рдпреЛрдЬрдирд╛ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдХрд░рддреЗ рд╣реИрдВ, рдмрд▓реНрдХрд┐ рд▓реЙрдЧ рдХреЗ рдбреАрдЯреЗрд▓ рд▓рд╛рдЗрди рд╕реЗ рдЗрд╕рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ рднреА рд╣реИрдВ, рддреЛ рдЖрдк рдЗрд╕реЗ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдХреЙрдкреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
- рдЕрдиреБрд░реЛрдз рдореЗрдВ рдореВрд▓реНрдпреЛрдВ рдХреЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд╕рд╛рде
рдЗрд╕рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреНрд░рддреНрдпрдХреНрд╖ рдирд┐рд╖реНрдкрд╛рджрди рдФрд░ рдЖрдЧреЗ рдХреА рд░реВрдкрд░реЗрдЦрд╛ рдХреЗ рд▓рд┐рдП
SELECT 'const', 'param'::text;
- PREPARE / EXECUTE рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдореВрд▓реНрдп рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдХреЗ рд╕рд╛рде
рдЬрдм рдкреИрд░рд╛рдореАрдЯреНрд░рд┐рдХ рднрд╛рдЧ рдХреЛ рдирдЬрд░рдЕрдВрджрд╛рдЬ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рд╢реЗрдбреНрдпреВрд▓рд░ рдХреЗ рдХрд╛рдо рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП - рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рд╡рд┐рднрд╛рдЬрд┐рдд рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реЛрдВ
DEALLOCATE ALL; PREPARE q(text) AS SELECT 'const', $1::text; EXECUTE q('param'::text);
рдкреБрд░рд╛рд▓реЗрдЦ
рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░реЗрдВ, рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░реЗрдВ, рд╕рд╣рдХрд░реНрдорд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░реЗрдВ! рдпреЛрдЬрдирд╛рдПрдВ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рд░рд╣реЗрдВрдЧреА, рдФрд░ рдЖрдк рдмрд╛рдж рдореЗрдВ рдЙрди рдкрд░ рд╡рд╛рдкрд╕ рд▓реМрдЯ рд╕рдХрддреЗ рд╣реИрдВ:
Explain.tensor.ru/archiveрд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдк рджреВрд╕рд░реЛрдВ рдХреЛ рдЕрдкрдиреА рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рджреЗрдЦрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ "рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рди рдХрд░реЗрдВ" рдЪреЗрдХрдмреЙрдХреНрд╕ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдирд╛ рди рднреВрд▓реЗрдВред
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓реЗрдЦреЛрдВ рдореЗрдВ рдореИрдВ рдпреЛрдЬрдирд╛ рдХреЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдореЗрдВ рдЖрдиреЗ рд╡рд╛рд▓реА рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдФрд░ рд╕рдорд╛рдзрд╛рдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ред