Π’ процСссС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ сопровоТдСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ часто ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ ΡΡ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΈΠ· Π±Π°Π·Ρ‹ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ Β«Π²Ρ‹Π΅ΠΌΠΊΠ°Β» Π½Π΅ являСтся ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ‚Π΅Ρ€ΠΌΠΈΠ½ΠΎΠΌ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ Ρ„ΠΈΡ€ΠΌΡ‹ Β«1Π‘Β», ΠΎΠ΄Π½Π°ΠΊΠΎ Π² ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠΉ срСдС ΠΏΠΎΠ΄ Π½ΠΈΠΌ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°ΡŽΡ‚ массив Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅ΠΌΡ‹ΠΉ запросом ΠΈΠ»ΠΈ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΎΠΉ ΠΈΠ· Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ…. Π£ΠΌΠ΅Π½ΠΈΠ΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эти процСссы критичСски Π²Π°ΠΆΠ½ΠΎ для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ систСмы.

Когда ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ТалуСтся Π½Π° ΠΌΠ΅Π΄Π»Π΅Π½Π½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΎΡ‚Ρ‡Π΅Ρ‚Π° ΠΈΠ»ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΏΠ΅Ρ€Π²ΠΎΠ΅, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ спСциалист β€” это Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ объСм ΠΈ структуру Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ систСма пытаСтся ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ. Часто ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° кроСтся Π½Π΅ Π² вычислСниях, Π° Π² нСэффСктивном Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ исходного Π½Π°Π±ΠΎΡ€Π° записСй. ПониманиС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π²Ρ‹Π΅ΠΌΠΊΠΈ, позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π»ΠΈΡˆΠ½ΠΈΡ… ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° сСрвСр.

БущСствуСт нСсколько ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ Π°Π½Π°Π»ΠΈΠ·Π°: ΠΎΡ‚ просмотра структуры запроса Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ Π΄ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π° Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… SQL-ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π‘Π£Π‘Π”. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³ΡƒΡ‚ Π²Π°ΠΌ Π·Π°Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Β«ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚Β» ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π½ΠΎ происходит Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ выполнСния ΠΊΠΎΠ΄Π°.

ΠŸΠΎΠ½ΡΡ‚ΠΈΠ΅ Π²Ρ‹Π΅ΠΌΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ 1Π‘

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΊ тСхничСским дСталям, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΏΠΎΠ½ΠΈΠΌΠ°Π΅ΠΌ ΠΏΠΎΠ΄ Π²Ρ‹Π΅ΠΌΠΊΠΎΠΉ. Π’ контСкстС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ это Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния запроса ΠΊ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ Π±Π°Π·Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠΏΠ°Π΄Π°Π΅Ρ‚ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Π’Ρ‹Π±ΠΎΡ€ΠΊΠ°Π˜Π·Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°Π—Π°ΠΏΡ€ΠΎΡΠ° ΠΈΠ»ΠΈ пСрСдаСтся Π² Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚. Ошибки Π½Π° этом этапС часто приводят ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ систСма Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ строк, хотя для Ρ€Π°Π±ΠΎΡ‚Ρ‹ трСбуСтся лишь дСсяток.

ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… тСсно связан с индСксами ΠΈ ΠΏΠ»Π°Π½Π°ΠΌΠΈ выполнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ строит сСрвСр Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…. Если Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π½Π΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ особСнности индСксации ΠΏΡ€ΠΈ написании ΠΊΠΎΠ΄Π°, ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ систСмы ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΏΠ°ΡΡ‚ΡŒ катастрофичСски.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’Π΅Ρ€ΠΌΠΈΠ½ Β«Π²Ρ‹Π΅ΠΌΠΊΠ°Β» являСтся слСнговым. Π’ ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈΡ‰ΠΈΡ‚Π΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹, посвящСнныС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ «Запрос», «НаборДанных» ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π²Ρ‹Π±ΠΎΡ€ΠΊΠ°ΠΌΠΈ.

Анализ Π²Ρ‹Π΅ΠΌΠΎΠΊ позволяСт Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊ Π½Π°Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ «тяТСлыС» мСста Π² ΠΊΠΎΠ΄Π΅. НапримСр, Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° всСх элСмСнтов справочника «НомСнклатура» Π±Π΅Π· ΠΎΡ‚Π±ΠΎΡ€Π° ΠΏΠΎ Π²ΠΈΠ΄Ρƒ Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΡΡ‚ΡŒ сСкунды Π½Π° малСнькой Π±Π°Π·Π΅ ΠΈ ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ Π½Π° большой. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ начинаСтся ΠΈΠΌΠ΅Π½Π½ΠΎ с понимания Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ поля ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ записи ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ.

πŸ’‘

ВсСгда ΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ запроса, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈ ΠΎΡ‚Π±ΠΎΡ€Ρ‹, вмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ всС Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π² Ρ†ΠΈΠΊΠ»Π΅ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.

Анализ запросов Ρ‡Π΅Ρ€Π΅Π· Консоль запросов

Π‘Π°ΠΌΡ‹ΠΉ доступный ΠΈ популярный инструмСнт для Π°Π½Π°Π»ΠΈΠ·Π° Π²Ρ‹Π΅ΠΌΠΎΠΊ β€” это внСшняя ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Консоль запросов. Она позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Π΅ запросы ΠΊ Π±Π°Π·Π΅ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ прСдприятия, Π²ΠΈΠ΄Π΅Ρ‚ΡŒ структуру Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² ΠΈ, Ρ‡Ρ‚ΠΎ самоС Π²Π°ΠΆΠ½ΠΎΠ΅, ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ тСкст запроса Π½Π° языкС Π‘Π£Π‘Π”. Π­Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ шаг ΠΊ пониманию Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π΄Π°Π½Π½Ρ‹Π΅.

Для Π½Π°Ρ‡Π°Π»Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ ввСсти тСкст запроса Π½Π° встроСнном языкС 1Π‘. ПослС выполнСния Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π² Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части. Однако главная Ρ†Π΅Π½Π½ΠΎΡΡ‚ΡŒ инструмСнта скрыта Π² ΠΊΠ½ΠΎΠΏΠΊΠ΅ Β«ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ тСкст запроса Π½Π° языкС Π‘Π£Π‘Π”Β». НаТав Π΅Ρ‘, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Ρ‚ΠΎΡ‡Π½ΡƒΡŽ копию ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹, которая ΡƒΡˆΠ»Π° Π² сСрвСр Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ….

  • πŸ” ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ SQL-ΠΊΠΎΠ΄, Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ.
  • ⚑ Π”Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ индСксов Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ»Π°Π½ выполнСния.
  • πŸ“Š ΠŸΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ объСм Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π΄ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ΠΌ Π² ΠΊΠΎΠ΄.

ИспользованиС консоли запросов Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ понимания синтаксиса языка запросов 1Π‘. Ошибки Π² написании условий ΠΎΡ‚Π±ΠΎΡ€Π° ΠΌΠΎΠ³ΡƒΡ‚ привСсти ΠΊ ΠΏΠΎΠ»Π½ΠΎΠΌΡƒ ΡΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ Ρ‚Π°Π±Π»ΠΈΡ† (Full Table Scan), Ρ‡Ρ‚ΠΎ являСтся Π³Π»Π°Π²Π½ΠΎΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΎΠ². ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π»ΠΈ поля, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ построСны индСксы, Π² условиях соСдинСния ΠΈ ΠΎΡ‚Π±ΠΎΡ€Π°.

πŸ“Š Какой инструмСнт Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ для Π°Π½Π°Π»ΠΈΠ·Π° запросов Ρ‡Π°Ρ‰Π΅ всСго?
Консоль запросов
ΠŸΡ€ΠΎΡ„Π°ΠΉΠ»Π΅Ρ€
Π–ΡƒΡ€Π½Π°Π» рСгистрации
ВСхнологичСский ΠΆΡƒΡ€Π½Π°Π»
НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ

ИспользованиС тСхнологичСского ΠΆΡƒΡ€Π½Π°Π»Π° (Π’Π–) для трассировки

Для Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π°, особСнно Π² ΠΏΡ€ΠΎΠΌΡ‹ΡˆΠ»Π΅Π½Π½Ρ‹Ρ… Π±Π°Π·Π°Ρ…, Π³Π΄Π΅ нСльзя просто Ρ‚Π°ΠΊ Β«ΠΏΠΎΠΊΡ€ΡƒΡ‚ΠΈΡ‚ΡŒΒ» запросы, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ВСхнологичСский ΠΆΡƒΡ€Π½Π°Π» (Π’Π–). Π­Ρ‚ΠΎ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ логирования событий Π½Π° сторонС сСрвСра 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΡ. Π‘ Π΅Π³ΠΎ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π½Π°Ρ‡Π°Π»Π° ΠΈ окончания выполнСния запроса, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ тСкст.

Настройка Π’Π– производится Ρ‡Π΅Ρ€Π΅Π· Ρ„Π°ΠΉΠ» logcfg.xml, располоТСнный Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Для Π°Π½Π°Π»ΠΈΠ·Π° Π²Ρ‹Π΅ΠΌΠΎΠΊ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ события, связанныС с Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ запросов. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ это события Ρ‚ΠΈΠΏΠ° DBMSSQL (для MS SQL) ΠΈΠ»ΠΈ DBPostgreSQL, Π° Ρ‚Π°ΠΊΠΆΠ΅ событиС CALL для отслСТивания Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ².

<log>

<event>

<eq property="Name" value="DBMSSQL"/>

<property name="Sql"/>

<property name="Duration"/>

</event>

</log>

ПослС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ логирования ΠΈ воспроизвСдСния ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅, Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ»Ρ‹ Π»ΠΎΠ³ΠΎΠ², содСрТащиС ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ Π±Π°Π·Π΅. Анализируя эти Π΄Π°Π½Π½Ρ‹Π΅, ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ запросы с наибольшим Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ выполнСния (Duration) ΠΈ ΠΈΠ·ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΡ… структуру. Π­Ρ‚ΠΎ позволяСт Π½Π°ΠΉΡ‚ΠΈ скрытыС ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π²ΠΈΠ΄Π½Ρ‹ ΠΏΡ€ΠΈ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ тСстировании.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ³ΠΎ логирования всСх запросов Π½Π° Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π±Π°Π·Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ диска ΠΈ сниТСнию ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈΠ·-Π·Π° записи Π»ΠΎΠ³ΠΎΠ². Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ»ΠΈ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ запроса.

Анализ Π»ΠΎΠ³ΠΎΠ² Π’Π– β€” Π·Π°Π΄Π°Ρ‡Π° трудоСмкая, Π½ΠΎ СдинствСнно вСрная для поиска ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² распрСдСлСнных систСмах ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большим количСством ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ CVAnaliz ΠΈΠ»ΠΈ скрипты Π½Π° PowerShell, ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Π°Π³Ρ€Π΅Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· тысяч строк Π»ΠΎΠ³ΠΎΠ² ΠΈ Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ самыС тяТСлыС Π²Ρ‹Π΅ΠΌΠΊΠΈ.

ΠžΡ‚Π»Π°Π΄ΠΊΠ° Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅

Если Ρƒ вас Π΅ΡΡ‚ΡŒ доступ ΠΊ Π±Π°Π·Π΅ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π°, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ встроСнный ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ для пошагового Π°Π½Π°Π»ΠΈΠ·Π° формирования Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΠ΄Π΅Π°Π»Π΅Π½ для понимания Π»ΠΎΠ³ΠΈΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ участка ΠΊΠΎΠ΄Π°, Π³Π΄Π΅ создаСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π’Ρ‹Π±ΠΎΡ€ΠΊΠ°Π”Π°Π½Π½Ρ‹Ρ….

УстановитС Ρ‚ΠΎΡ‡ΠΊΡƒ останова (Breakpoint) Π½Π° строкС, Π³Π΄Π΅ начинаСтся Ρ†ΠΈΠΊΠ» ΠΎΠ±Ρ…ΠΎΠ΄Π° Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Пока Π’Ρ‹Π±ΠΎΡ€ΠΊΠ°.Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ() Π¦ΠΈΠΊΠ». ЗапуститС ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ ΠΈ Π΄ΠΎΠΆΠ΄ΠΈΡ‚Π΅ΡΡŒ остановки. Π’ ΠΎΠΊΠ½Π΅ «ВыраТСния» ΠΈΠ»ΠΈ Β«ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅Β» Π²Ρ‹ смоТСтС Ρ€Π°ΡΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΈ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ значСния ΠΏΠΎΠ»Π΅ΠΉ.

  • πŸ›  ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.
  • πŸ”„ Π”Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ пошагово ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ записи Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ.
  • 🧩 ΠŸΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π΄Π°Π½Π½Ρ‹Π΅ Π² процСссС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

Однако стоит ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΡ‚Π»Π°Π΄ΠΊΠ° Π² ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² ΠΎΠ΄Π½ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΊΠ°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρƒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π’ΠΎ, Ρ‡Ρ‚ΠΎ быстро выполняСтся Π² ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ΅ Π½Π° локальном ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π΅, ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚ΡŒ Π½Π° сСрвСрС ΠΏΠΎΠ΄ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΎΡ‚Π±ΠΎΡ€ΠΎΠ² этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌ.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π²Ρ‹Π±ΠΎΡ€ΠΎΠΊ

Если Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° содСрТит ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ записСй, пошаговая ΠΎΡ‚Π»Π°Π΄ΠΊΠ° Π·Π°ΠΉΠΌΠ΅Ρ‚ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ с условиСм (Conditional Breakpoint), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… записях.

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π²Ρ‹Π±ΠΎΡ€ΠΊΠ°ΠΌΠΈ Π² ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊΠ΅ ΠΎΠ±Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° свойство ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π—Π°ΠΏΡ€ΠΎΡΠ°. Если систСма Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½Π° ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ для получСния количСства записСй, это Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ рСсурсоСмкий процСсс. Π‘Ρ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ() Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ².

ΠŸΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚ SQL-ΠΊΠΎΠΌΠ°Π½Π΄ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π‘Π£Π‘Π”

НаиболСС Ρ‚ΠΎΡ‡Π½ΡƒΡŽ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Ρƒ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ Π²Ρ‹Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ ΠΈΠ· Π±Π°Π·Ρ‹, Π΄Π°ΡŽΡ‚ срСдства ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° самой систСмы управлСния Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (Π‘Π£Π‘Π”). Для MS SQL Server это SQL Server Profiler ΠΈΠ»ΠΈ Extended Events, для PostgreSQL β€” Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Ρ… запросов ΠΈΠ»ΠΈ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° pg_stat_statements.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΠ² ΠΏΡ€ΠΎΡ„Π°ΠΉΠ»Π΅Ρ€ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… 1Π‘, Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ ΠΏΠΎΡ‚ΠΎΠΊ ΠΊΠΎΠΌΠ°Π½Π΄ Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ 1Π‘ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚Ρ‹ Π² Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Π΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΈΠ»ΠΈ ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‚ собой динамичСский SQL. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠΌ здСсь являСтся Π°Π½Π°Π»ΠΈΠ· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Π² запрос, ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΈΡ… выполнСния.

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ Для ΠΊΠ°ΠΊΠΎΠΉ Π‘Π£Π‘Π” ОсновноС прСимущСство Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ настройки
SQL Server Profiler MS SQL Server Визуализация Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Низкая
Extended Events MS SQL Server МинимальноС влияниС Π½Π° сСрвСр Высокая
pg_stat_statements PostgreSQL Бтатистика ΠΏΠΎ всСм запросам БрСдняя
Explain Plan Π›ΡŽΠ±Π°Ρ ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠ»Π°Π½ выполнСния БрСдняя

ИспользованиС ΠΏΠ»Π°Π½ΠΎΠ² выполнСния (Execution Plan) позволяСт ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ индСксы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ сСрвСр. Если Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π·Π½Π°Ρ‡ΠΎΠΊ прСдупрСТдСния ΠΈΠ»ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ Β«Clustered Index ScanΒ» Π½Π° большой Ρ‚Π°Π±Π»ΠΈΡ†Π΅, это сигнал ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π²Ρ‹Π΅ΠΌΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… происходит Π½Π΅ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, отсутствуСт Π½ΡƒΠΆΠ½Ρ‹ΠΉ индСкс ΠΈΠ»ΠΈ условиС запроса написано Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ сСрвСр Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.

πŸ’‘

Бамая частая ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹Ρ… Π²Ρ‹Π΅ΠΌΠΎΠΊ β€” отсутствиС индСксов Π½Π° полях, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² условиях соСдинСния (JOIN) ΠΈ ΠΎΡ‚Π±ΠΎΡ€Π° (WHERE).

ΠŸΡ€ΠΈ Π°Π½Π°Π»ΠΈΠ·Π΅ Ρ‡Π΅Ρ€Π΅Π· Π‘Π£Π‘Π” Π²Π°ΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ запросы. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΈΡ… для ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ использования ΠΏΠ»Π°Π½ΠΎΠ² выполнСния. Однако ΠΈΠ½ΠΎΠ³Π΄Π° это ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ΅ «парамСтричСского сноса» (parameter sniffing), ΠΊΠΎΠ³Π΄Π° ΠΏΠ»Π°Π½, построСнный для ΠΎΠ΄Π½ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², оказываСтся нСэффСктивным для Π΄Ρ€ΡƒΠ³ΠΈΡ….

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ Π²Ρ‹ посмотрСли Π²Ρ‹Π΅ΠΌΠΊΠΈ ΠΈ нашли ΡƒΠ·ΠΊΠΈΠ΅ мСста, наступаСт этап ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. Один ΠΈΠ· самых эффСктивных ΠΏΡ€ΠΈΠ΅ΠΌΠΎΠ² β€” использованиС Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†. Если слоТный запрос выполняСтся Π΄ΠΎΠ»Π³ΠΎ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ, ΠΈΠΌΠ΅Π΅Ρ‚ смысл Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° этапы, сохраняя ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹.

Π’ языкС запросов 1Π‘ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ с прСфиксом #. Π—Π°ΠΏΠΈΡΡŒ Π² Ρ‚Π°ΠΊΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ происходит ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, Π° дальнСйшая Ρ€Π°Π±ΠΎΡ‚Π° вСдСтся с Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ (Π² Ρ€Π°ΠΌΠΊΠ°Ρ… сСссии) Π½Π°Π±ΠΎΡ€ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Ρ…. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ сниТаСт Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° основныС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ позволяСт сСрвСру Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ… ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ эффСктивныС ΠΏΠ»Π°Π½Ρ‹.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. ВмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π² Ρ†ΠΈΠΊΠ»Π΅ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ элСмСнта справочника Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ запрос ΠΊ рСгистру свСдСний, Π»ΡƒΡ‡ΡˆΠ΅ сначала Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ всС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΈΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π΅Ρ‘ ΠΊ основной Π²Ρ‹Π±ΠΎΡ€ΠΊΠ΅.

// ΠΠ΅ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ: запрос Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π°

Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ ΠΈΠ· Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.НомСнклатура Π¦ΠΈΠΊΠ»

Запрос = Новый Запрос;

Запрос.ВСкст = "ВЫБРАВЬ.. Π“Π”Π• НомСнклатура = &НомСнклатура";

// Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ запроса..

ΠšΠΎΠ½Π΅Ρ†Π¦ΠΈΠΊΠ»Π°;

// ΠžΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ: ΠΎΠ΄Π½Π° Π²Ρ‹Π΅ΠΌΠΊΠ° Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ

Запрос = Новый Запрос;

Запрос.ВСкст = "ВЫБРАВЬ.. ΠŸΠžΠœΠ•Π‘Π’Π˜Π’Π¬ Π’Π’_Π”Π°Π½Π½Ρ‹Π΅";

Запрос.Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ();

// Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ°Ρ Ρ€Π°Π±ΠΎΡ‚Π° с Π’Π’_Π”Π°Π½Π½Ρ‹Π΅

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: НС злоупотрСбляйтС Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ слишком большого количСства ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ† ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ росту потрСблСния памяти ΠΈ замСдлСнию Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‚Π΅ΠΌΠΏΠΎΡ€Π°Π»ΡŒΠ½ΠΎΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… (tempdb).

Π’Π°ΠΊΠΆΠ΅ стоит ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° использованиС ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠ² РАЗРЕШЕННЫЕ ΠΈ Π’ΠžΠ›Π¬ΠšΠž Π² запросах. Π―Π²Π½ΠΎΠ΅ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ для дальнСйшСй Ρ€Π°Π±ΠΎΡ‚Ρ‹, вмСсто использования * (Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠΈ), ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ объСм ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ сСти ΠΈ ускоряСт Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ.

β˜‘οΈ Π§Π΅ΠΊ-лист ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Ρ‹Π΅ΠΌΠΊΠΈ

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 5

ЧастыС ошибки ΠΏΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΊ

Π”Π°ΠΆΠ΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ошибки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°ΡŽΡ‚ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ Π²Ρ‹Π΅ΠΌΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Одна ΠΈΠ· самых распространСнных β€” Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… Π±Π΅Π· ΠΎΡ‚Π±ΠΎΡ€Π° ΠΏΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Ρƒ Π² рСгистрах накоплСния. Π’Π°Π±Π»ΠΈΡ†Ρ‹ рСгистров ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ, ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈΡ… Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ нСдопустимо.

Другая ошибка β€” использованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² условиях ΠΎΡ‚Π±ΠΎΡ€Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π“ΠžΠ”(Π”Π°Ρ‚Π°) = 2023. Π’Π°ΠΊΠΎΠ΅ условиС Π΄Π΅Π»Π°Π΅Ρ‚ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ использованиС индСкса ΠΏΠΎ полю Π”Π°Ρ‚Π°, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ сСрвСру приходится Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄ сравнСниСм. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π΄Π°Ρ‚: Π”Π°Ρ‚Π° >= '2023.01.01' И Π”Π°Ρ‚Π° < '2026.01.01'.

НС стоит Π·Π°Π±Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ ΠΎ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°Ρ…. ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… для обновлСния (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²) Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ (deadlocks) с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ. Π’ 1Π‘ для этого ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ слова Π”Π›Π― Π˜Π—ΠœΠ•ΠΠ•ΠΠ˜Π― ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ изоляции Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ.

Как ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π²Ρ‹Π΅ΠΌΠΊΡƒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ прСдприятия?

Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ прСдприятия Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ SQL-запрос нСльзя. НСобходимо ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ внСшниС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ «Консоль запросов», ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΡƒΡŽ ΠΊ этой Π±Π°Π·Π΅, ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ВСхнологичСский ΠΆΡƒΡ€Π½Π°Π», ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ² Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ событий SQL.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстро Π² консоли запросов, Π½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π² ΠΊΠΎΠ΄Π΅?

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ связано с Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ основной ΠΊΠΎΠ΄ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, ΠΈΠ»ΠΈ с Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Π² ΠΊΠΎΠ΄Π΅ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° происходит Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ, Π° Π² консоли Π²Ρ‹ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»ΠΈ запрос ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·. Π’Π°ΠΊΠΆΠ΅ влияСт контСкст Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ «сначала» ΠΈ Β«ΠΏΠΎΡ‚ΠΎΠΌΒ» Π² запросах 1Π‘?

Π­Ρ‚ΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ для рСгистров накоплСния ΠΈ свСдСний. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ остатки ΠΈ ΠΎΠ±ΠΎΡ€ΠΎΡ‚Ρ‹ Π±Π΅Π· слоТных Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΎΠΊ. ИспользованиС этих Ρ‚Π°Π±Π»ΠΈΡ† часто ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹Π΅ΠΌΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ рСгистрам.

МоТно Π»ΠΈ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄ΠΎΠ»Π³ΠΈΠΉ запрос Π½Π° Π²Ρ‹Π΅ΠΌΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ…?

Π”Π°, Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«ΠŸΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒΒ» (красный ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚) Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов. На ΡƒΡ€ΠΎΠ²Π½Π΅ сСрвСра 1Π‘ сСссия Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π°, Π° транзакция ΠΎΡ‚ΠΊΠ°Ρ‚Π»Π΅Π½Π° сСрвСром Π‘Π£Π‘Π”.