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

ПониманиС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ систСма 1Π‘ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ тСкст запроса Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, являСтся критичСски Π²Π°ΠΆΠ½Ρ‹ΠΌ Π½Π°Π²Ρ‹ΠΊΠΎΠΌ для любого программиста. Π‘Π΅Π· Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΠ»Π°Π½Π° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ эффСктивно ΡƒΡΡ‚Ρ€Π°Π½ΡΡ‚ΡŒ ΡƒΠ·ΠΊΠΈΠ΅ мСста ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. МногиС ошибки Π·Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π΅Ρ‰Π΅ Π½Π° этапС написания ΠΊΠΎΠ΄Π°, ΠΊΠΎΠ³Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π½Π΅ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ особСнности индСксации ΠΈΠ»ΠΈ Π»ΠΎΠ³ΠΈΠΊΡƒ соСдинСния Ρ‚Π°Π±Π»ΠΈΡ†. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ структуру ΠΏΠ»Π°Π½Π°, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π΅Π³ΠΎ чтСния ΠΈ способы ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ.

Π’Π°ΠΌ Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ экспСртом Π² администрировании Π‘Π£Π‘Π”, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот инструмСнт. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 8.3 ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ срСдства Π²ΠΈΠ·ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅Π»Π°ΡŽΡ‚ процСсс Π°Π½Π°Π»ΠΈΠ·Π° доступным Π΄Π°ΠΆΠ΅ для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… спСциалистов. Π“Π»Π°Π²Π½ΠΎΠ΅ β€” Π·Π½Π°Ρ‚ΡŒ, Π½Π° ΠΊΠ°ΠΊΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠ»Π°Π½ запроса ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ Π½ΡƒΠΆΠ΅Π½

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

Π—Π°Ρ‡Π΅ΠΌ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² этот ΠΏΠ»Π°Π½? Π”Π΅Π»ΠΎ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ тСкст запроса ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ Π² зависимости ΠΎΡ‚ состояния Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. НапримСр, Ссли Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π° записСй Π½Π΅Ρ‚ подходящСго индСкса, систСма Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½Π° Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΎΠ±Ρ…ΠΎΠ΄ (Full Scan), Ρ‡Ρ‚ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ΅ количСство Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. План запроса наглядно ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Π²Ρ‹Π±Ρ€Π°Π»Π° Π»ΠΈ систСма индСксный поиск ΠΈΠ»ΠΈ пошла ΠΏΠΎ ΠΏΡƒΡ‚ΠΈ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π°.

Анализ ΠΏΠ»Π°Π½Π° позволяСт Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹:

  • πŸ” ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… индСксов для ΠΏΠΎΠ»Π΅ΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² условиях ΠΎΡ‚Π±ΠΎΡ€Π°.
  • πŸ”„ ΠΠ΅ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ порядок соСдинСния Ρ‚Π°Π±Π»ΠΈΡ†, Π²Π΅Π΄ΡƒΡ‰ΠΈΠΉ ΠΊ созданию Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π½Π°Π±ΠΎΡ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… гигантского Ρ€Π°Π·ΠΌΠ΅Ρ€Π°.
  • ⚠️ ИспользованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² условиях соСдинСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ использованиС индСксов.
  • πŸ“‰ ΠžΡˆΠΈΠ±ΠΎΡ‡Π½Π°Ρ ΠΎΡ†Π΅Π½ΠΊΠ° количСства строк ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠΌ, приводящая ΠΊ Π²Ρ‹Π±ΠΎΡ€Ρƒ Π½Π΅Π²Π΅Ρ€Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: План запроса Π°ΠΊΡ‚ΡƒΠ°Π»Π΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ состояния статистики Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Если Π²Ρ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π½ΠΎΠ²Ρ‹Π΅ индСксы ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ структуру, ΠΏΠ»Π°Π½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠ°Ρ€Π΄ΠΈΠ½Π°Π»ΡŒΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ запускС.

πŸ“Š Π‘ ΠΊΠ°ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π²Ρ‹ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ Ρ‡Π°Ρ‰Π΅ всСго?
Π”ΠΎΠ»Π³ΠΎΠ΅ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ²
Π’ΠΎΡ€ΠΌΠΎΠ·Π° ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²
МСдлСнная Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…
ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌ с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ Π½Π΅Ρ‚

Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΏΠ»Π°Π½ запроса Π² 1Π‘

Для получСния ΠΏΠ»Π°Π½Π° выполнСния Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ прСдприятия ΠΈΠ»ΠΈ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ запросов. Π’ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ это дСлаСтся Ρ‡Π΅Ρ€Π΅Π· мСню ΠžΡ‚Π»Π°Π΄ΠΊΠ° β†’ ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ β†’ Запросы, Π³Π΄Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π³Π°Π»ΠΎΡ‡ΠΊΡƒ Β«Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠ»Π°Π½ запроса». Однако Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ наглядным способом являСтся использованиС консоли запросов ΠΈΠ»ΠΈ встроСнного ΠΏΡ€ΠΎΡ„Π°ΠΉΠ»Π΅Ρ€Π°.

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

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ элСмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Π² ΠΏΠ»Π°Π½Π΅:

  • πŸ“Š ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ доступа: ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, ΠΊΠ°ΠΊ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Π΄Π°Π½Π½Ρ‹Π΅ (ΠΏΠΎ индСксу, ΠΏΠΎ кластСрному индСксу ΠΈΠ»ΠΈ ΠΏΠΎΠ»Π½Ρ‹ΠΌ сканированиСм).
  • πŸ”— ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ соСдинСния: Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ объСдинСния Ρ‚Π°Π±Π»ΠΈΡ† (Join), Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Nested Loop, Hash Join ΠΈΠ»ΠΈ Merge Join.
  • 🧹 ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ: ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚, Π½Π° ΠΊΠ°ΠΊΠΎΠΌ этапС примСняСтся ΠΎΡ‚Π±ΠΎΡ€ записСй ΠΏΠΎ условиям WHERE.
  • πŸ“ ΠžΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ сортировки: ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‚ Π·Π° упорядочиваниС ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ….

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ стоит ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ стоимости ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, которая часто отобраТаСтся Π² ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π°Ρ… ΠΈΠ»ΠΈ условных Π΅Π΄ΠΈΠ½ΠΈΡ†Π°Ρ…. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ с высокой ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΡŽ β€” это ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ Π½Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ. Если Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ 90% Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ тратится Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π·Π½Π°Ρ‡ΠΈΡ‚, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° кроСтся ΠΈΠΌΠ΅Π½Π½ΠΎ Π² способС доступа ΠΊ Π½Π΅ΠΉ.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ сочСтаниС клавиш Ctrl+Shift+F12 Π² консоли запросов для быстрого получСния тСкстового прСдставлСния ΠΏΠ»Π°Π½Π° выполнСния Π±Π΅Π· запуска самого запроса.

Π’ΠΈΠΏΡ‹ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ

Бамая ваТная Ρ‡Π°ΡΡ‚ΡŒ ΠΏΠ»Π°Π½Π° запроса β€” это Π»ΠΈΡΡ‚ΡŒΡ Π΄Π΅Ρ€Π΅Π²Π°, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нСпосрСдствСнно Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ с Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ Π½Π° дискС. ПониманиС Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ доступа позволяСт ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ Π΄ΠΈΠ°Π³Π½ΠΎΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с индСксациСй. Π’ 1Π‘, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅ΠΉ ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ MS SQL ΠΈΠ»ΠΈ PostgreSQL, эти ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ стандартныС названия, понятныС администраторам Π‘Π£Π‘Π”.

НаиболСС ΠΆΠ΅Π»Π°Π΅ΠΌΡ‹ΠΌ Ρ‚ΠΈΠΏΠΎΠΌ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ являСтся Index Seek (Поиск ΠΏΠΎ индСксу). Π’ этом случаС систСма ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ структуру B-Π΄Π΅Ρ€Π΅Π²Π° индСкса для ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠ³ΠΎ нахоТдСния Π½ΡƒΠΆΠ½Ρ‹Ρ… записСй ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ. Π­Ρ‚ΠΎ происходит Π·Π° Π΄ΠΎΠ»ΠΈ сСкунды Π΄Π°ΠΆΠ΅ Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… с ΠΌΠΈΠ»Π»ΠΈΠ°Ρ€Π΄Π°ΠΌΠΈ строк. Если Π² ΠΏΠ»Π°Π½Π΅ Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ эту ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ, Π·Π½Π°Ρ‡ΠΈΡ‚, индСкс ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ эффСктивно.

Π’Ρ‚ΠΎΡ€ΠΎΠΉ допустимый Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ β€” Index Scan (Π‘ΠΊΠ°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ индСкса). Π—Π΄Π΅ΡΡŒ систСма ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎ всСм записям индСкса подряд. Π­Ρ‚ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Ρ‡Π΅ΠΌ Seek, Π½ΠΎ всС ΠΆΠ΅ быстрСС, Ρ‡Π΅ΠΌ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ самой Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ индСкс ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ мСньшС ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ ΠΈ содСрТит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ поля. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΎΠΏΡ€Π°Π²Π΄Π°Π½, Ссли Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ большой ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚ записСй ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

ΠΠ°ΠΈΡ…ΡƒΠ΄ΡˆΠΈΠΉ сцСнарий β€” это Table Scan ΠΈΠ»ΠΈ Clustered Index Scan (ПолноС сканированиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹). Π’ этом случаС сСрвСр Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ страницу Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° дискС. Для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ† это ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ ΠΈ часы. ПоявлСниС Ρ‚Π°ΠΊΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π² ΠΏΠ»Π°Π½Π΅ запроса ΠΏΠΎΡ‡Ρ‚ΠΈ всСгда сигнализируСт ΠΎΠ± отсутствии индСкса ΠΈΠ»ΠΈ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ условиС ΠΎΡ‚Π±ΠΎΡ€Π° написано Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ индСкс Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½.

Π’ΠΈΠΏ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Когда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ РСкомСндация
Index Seek Высокая Π’ΠΎΡ‡Π΅Ρ‡Π½Ρ‹ΠΉ поиск ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ Π˜Π΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚
Index Scan БрСдняя Π’Ρ‹Π±ΠΎΡ€ΠΊΠ° большого Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° Допустимо для ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ²
Table Scan Низкая ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ индСкса ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² WHERE Π’Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ
Key Lookup Низкая Π”ΠΎΠ±ΠΎΡ€ ΠΏΠΎΠ»Π΅ΠΉ ΠΈΠ· основной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π˜Π·Π±Π΅Π³Π°Ρ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅
πŸ’‘

Главная Ρ†Π΅Π»ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ β€” Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ сканирования (Scan) Π½Π° поиск ΠΏΠΎ индСксу (Seek) Ρ‚Π°ΠΌ, Π³Π΄Π΅ выбираСтся ΠΌΠ΅Π½Π΅Π΅ 5-10% записСй Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

Алгоритмы соСдинСния Ρ‚Π°Π±Π»ΠΈΡ† Π² ΠΏΠ»Π°Π½Π΅

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

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

Π’Ρ‚ΠΎΡ€ΠΎΠΉ Ρ‚ΠΈΠΏ β€” Hash Join (Π₯Сш-соСдинСниС). Π—Π΄Π΅ΡΡŒ систСма строит Ρ…Π΅Ρˆ-Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ для ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π½Π°Π±ΠΎΡ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Π² памяти, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΠ±Π΅Π³Π°Π΅Ρ‚ ΠΏΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌΡƒ Π½Π°Π±ΠΎΡ€Ρƒ, вычисляя Ρ…Π΅ΡˆΠΈ для поиска совпадСний. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для соСдинСния Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ†, Π³Π΄Π΅ Π½Π΅Ρ‚ подходящих индСксов, Π½ΠΎ ΠΎΠ½ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ объСма ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти. Если памяти Π½Π΅ Ρ…Π²Π°Ρ‚Π°Π΅Ρ‚, начинаСтся сброс Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° диск, Ρ‡Ρ‚ΠΎ Ρ€Π΅Π·ΠΊΠΎ замСдляСт Ρ€Π°Π±ΠΎΡ‚Ρƒ.

Π’Ρ€Π΅Ρ‚ΠΈΠΉ Ρ‚ΠΈΠΏ β€” Merge Join (БлияниС). Π­Ρ‚ΠΎΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли ΠΎΠ±Π° Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ… ΡƒΠΆΠ΅ отсортированы ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ соСдинСния. Он просто ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎ ΠΎΠ±ΠΎΠΈΠΌ спискам ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ, сопоставляя значСния. Π­Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ быстрый ΠΈ экономный ΠΏΠΎ памяти ΠΌΠ΅Ρ‚ΠΎΠ΄, Π½ΠΎ ΠΎΠ½ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ сортировки, которая сама ΠΏΠΎ сСбС ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π΄ΠΎΡ€ΠΎΠ³ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Если Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π² ΠΏΠ»Π°Π½Π΅ Hash Join с ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ ΠΎ Β«Warning: No Join PredicateΒ», это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π·Π°Π±Ρ‹Ρ‚ΠΎ условиС соСдинСния, ΠΈ систСма пытаСтся ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ строку ΠΎΠ΄Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ с ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкой Π΄Ρ€ΡƒΠ³ΠΎΠΉ (Π΄Π΅ΠΊΠ°Ρ€Ρ‚ΠΎΠ²ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅).

ЧастыС ошибки ΠΈ способы ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ

Анализ тысяч ΠΏΠ»Π°Π½ΠΎΠ² запросов позволяСт Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€ΠΈ написании ΠΊΠΎΠ΄Π° Π½Π° встроСнном языкС. Часто ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° кроСтся Π½Π΅ Π² отсутствии индСксов, Π° Π² Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ построСнии Π»ΠΎΠ³ΠΈΠΊΠΈ запроса, Ρ‡Ρ‚ΠΎ Π½Π΅ позволяСт ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€Ρƒ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π²Π΅Ρ€Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ.

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

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” нСявноС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. Если ΠΏΠΎΠ»Π΅ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ Число, Π° Π² запросС Π²Ρ‹ сравниваСтС Π΅Π³ΠΎ со строкой '100', сСрвСр ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ индСкс. ВсСгда слСдитС Π·Π° Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² условиях соСдинСния ΠΈ ΠΎΡ‚Π±ΠΎΡ€Π° совпадали с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ ΠΏΠΎΠ»Π΅ΠΉ Π² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ….

Для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ слоТных ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΈ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ слоТному Π½Π°Π±ΠΎΡ€Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ с Π½ΡƒΠΆΠ½Ρ‹ΠΌΠΈ индСксами, Π° Π·Π°Ρ‚Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΡƒΠΆΠ΅ с Π½Π΅ΠΉ. Π­Ρ‚ΠΎ сниТаСт Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° основныС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΏΠ»Π°Π½ запроса.

β˜‘οΈ Π§Π΅ΠΊ-лист ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ запроса

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

ВлияниС статистики Π½Π° ΠΏΠ»Π°Π½ запроса

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€ запросов Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π²ΡΠ»Π΅ΠΏΡƒΡŽ. Он ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π½Π° основС статистичСских Π΄Π°Π½Π½Ρ‹Ρ… ΠΎ распрСдСлСнии Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ…. Π­Ρ‚Π° статистика хранится Π² систСмных Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… Π‘Π£Π‘Π” ΠΈ пСриодичСски обновляСтся. Если статистика устарСла, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½Π΅Π²Π΅Ρ€Π½Ρ‹ΠΉ ΠΏΠ»Π°Π½, считая, Ρ‡Ρ‚ΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Π° пуста, ΠΊΠΎΠ³Π΄Π° Π½Π° самом Π΄Π΅Π»Π΅ Π² Π½Π΅ΠΉ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ записСй.

Π’ систСмах 1Π‘, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ΄ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ MS SQL Server, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ статистики происходит автоматичСски, Π½ΠΎ Π½Π΅ всСгда своСврСмСнно. ПослС массовой Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… систСм ΠΈΠ»ΠΈ Π°Ρ€Ρ…ΠΈΠ²Π°Ρ†ΠΈΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² статистика ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях цСлСсообразно Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ статистики для ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†.

Для PostgreSQL ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΏΠΎΡ…ΠΎΠΆ, Π½ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ свои особСнности настройки частоты автовакуумирования. Если Π²Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΠ»ΠΈ, Ρ‡Ρ‚ΠΎ ΠΏΠ»Π°Π½ запроса Ρ€Π΅Π·ΠΊΠΎ измСнился Π² Ρ…ΡƒΠ΄ΡˆΡƒΡŽ сторону Π±Π΅Π· измСнСния ΠΊΠΎΠ΄Π°, ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π³ΠΈΠΏΠΎΡ‚Π΅Π·ΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΡ‚Π°Ρ‚ΡŒ расхоТдСниС Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ статистики. Команда ANALYZE (ΠΈΠ»ΠΈ Π΅Π΅ Π°Π½Π°Π»ΠΎΠ³ΠΈ Π² интСрфСйсС 1Π‘) ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€Ρƒ Β«Π·Ρ€Π΅Π½ΠΈΠ΅Β».

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: На высоконагруТСнных сСрвСрах ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ статистики ΠΏΠΎ всСм Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° Π΄ΠΈΡΠΊΠΎΠ²ΡƒΡŽ подсистСму. ВыполняйтС эту ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρƒ Π² Π½ΠΎΡ‡Π½ΠΎΠ΅ врСмя ΠΈΠ»ΠΈ Π² ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Ρ‹ Π½ΠΈΠ·ΠΊΠΎΠΉ активности ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

Как ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ статистики Π² 1Π‘?

Π’ консоли запросов ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ систСмный запрос ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ статистики Π‘Π£Π‘Π”. Для MS SQL это прСдставлСниС sys.dm_db_stats_properties. Если ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° modification_counter ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ большоС количСство ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° послСднСго обновлСния (last_updated), статистику ΠΏΠΎΡ€Π° ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ.

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

Помимо стандартного ΠΎΠΊΠ½Π° ΠΏΠ»Π°Π½Π° запроса, Π² арсСналС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° 1Π‘ Π΅ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΌΠΎΡ‰Π½Ρ‹Π΅ инструмСнты. ВСхнологичСский ΠΆΡƒΡ€Π½Π°Π» (Π’Π–) позволяСт Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ выполнСния всСх запросов Π½Π° сСрвСрС, Ρ‡Ρ‚ΠΎ Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΠΎ для Π°Π½Π°Π»ΠΈΠ·Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π±Π°Π·Π΅, ΠΊΡƒΠ΄Π° Π½Π΅Ρ‚ доступа Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.

Π’Π°ΠΊΠΆΠ΅ стоит ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ chdbfl ΠΈ встроСнныС срСдства ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ прСдприятия. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ выполнСния запросов Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. ΠšΠΎΠΌΠ±ΠΈΠ½ΠΈΡ€ΡƒΡ Π΄Π°Π½Π½Ρ‹Π΅ Π’Π– ΠΈ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ»Π°Π½ запроса, ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΡ‡Π½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ участок ΠΊΠΎΠ΄Π° Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ.

НС Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎ ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Он ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ врСмя выполнСния запроса, Π½ΠΎ ΠΈ врСмя Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ. Часто запрос выполняСтся Π΄ΠΎΠ»Π³ΠΎ Π½Π΅ ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ слоТный, Π° ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½ ΠΆΠ΄Π΅Ρ‚, ΠΏΠΎΠΊΠ° другая транзакция освободит рСсурс. Π’ ΠΏΠ»Π°Π½Π΅ запроса это Π½Π΅ всСгда ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, поэтому комплСксный ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΊ диагностикС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ВСхнологичСский ΠΆΡƒΡ€Π½Π°Π» для сбора Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ Π±Π°Π·Π΅, Π° Консоль запросов β€” для Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π±ΠΎΡ€Π° ΠΈ тСстирования Π³ΠΈΠΏΠΎΡ‚Π΅Π· Π½Π° ΠΊΠΎΠΏΠΈΠΈ Π±Π°Π·Ρ‹.

МоТно Π»ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ запрос Π±Π΅Π· измСнСния ΠΊΠΎΠ΄Π° 1Π‘?

Π”Π°, Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях. Если ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π² отсутствии индСкса, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ нСпосрСдствСнно Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… (для SQL) ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€ (Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ индСкса Π² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅). Π’Π°ΠΊΠΆΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ статистики ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΏΠ»Π°Π½ Π±Π΅Π· ΠΏΡ€Π°Π²ΠΊΠΈ тСкста запроса.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΏΠ»Π°Π½ запроса мСняСтся ΠΎΡ‚ запуска ΠΊ запуску?

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ сСрвСра, объСм доступной памяти ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ статистику. Если Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… измСнились ΠΈΠ»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π΄Π΅Ρ€ΠΆΠ°Ρ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ, ΠΏΠ»Π°Π½ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ пСрСстроСн для Π°Π΄Π°ΠΏΡ‚Π°Ρ†ΠΈΠΈ ΠΊ Π½ΠΎΠ²Ρ‹ΠΌ условиям.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Β«ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΒ» Π² ΠΏΠ»Π°Π½Π΅ запроса?

Π­Ρ‚ΠΎ расчСтная Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π°, выраТСнная Π² условных Π΅Π΄ΠΈΠ½ΠΈΡ†Π°Ρ…, которая ΠΎΡ‚Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅ΠΌΡ‹Π΅ Π·Π°Ρ‚Ρ€Π°Ρ‚Ρ‹ рСсурсов (CPU ΠΈ I/O) Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ. Она ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€ΠΎΠΌ для сравнСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΏΠ»Π°Π½Π° ΠΈ Π²Ρ‹Π±ΠΎΡ€Π° Π½Π°ΠΈΠΌΠ΅Π½Π΅Π΅ Π·Π°Ρ‚Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ.

Как Π½Π°ΠΉΡ‚ΠΈ тСкст запроса ΠΏΠΎ ΠΏΠ»Π°Π½Ρƒ выполнСния?

Π’ ΠΎΠΊΠ½Π΅ просмотра ΠΏΠ»Π°Π½Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π΅ΡΡ‚ΡŒ Π²ΠΊΠ»Π°Π΄ΠΊΠ° ΠΈΠ»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ° «ВСкст запроса». Если Π²Ρ‹ смотритС ΠΏΠ»Π°Π½ Ρ‡Π΅Ρ€Π΅Π· ВСхнологичСский ΠΆΡƒΡ€Π½Π°Π», тСкст запроса содСрТится Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ событии dbmssql.query ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠΌ для вашСй Π‘Π£Π‘Π”.

ВлияСт Π»ΠΈ вСрсия ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ Π½Π° ΠΏΠ»Π°Π½ запроса?

Π”Π°, с Π²Ρ‹Ρ…ΠΎΠ΄ΠΎΠΌ Π½ΠΎΠ²Ρ‹Ρ… вСрсий ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ΡΡ Π³Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ запросов ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€. Один ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ ΠΊΠΎΠ΄ Π½Π° вСрсии 8.3.10 ΠΈ 8.3.24 ΠΌΠΎΠΆΠ΅Ρ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠ»Π°Π½Ρ‹, ΠΏΡ€ΠΈΡ‡Π΅ΠΌ новая вСрсия ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ эффСктивнСС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ возмоТности Π‘Π£Π‘Π”.