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

ПониманиС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° взаимодСйствия ΠΊΠΎΠ΄Π° ΠΈ Π‘Π£Π‘Π” являСтся Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚ΠΎΠΌ для написания качСствСнного ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния. Когда Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΏΠΎΠΌΠ΅Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Запрос Π²Π½ΡƒΡ‚Ρ€ΡŒ Ρ†ΠΈΠΊΠ»Π° Для КаТдого, систСма Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½Π° ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ соСдинСниС с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ тСкст запроса ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΈΠ»ΠΈ сСрвСр ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ. Π­Ρ‚ΠΎ создаСт ΠΊΠΎΠ»ΠΎΡΡΠ°Π»ΡŒΠ½ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° сСтСвой Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΈ процСссор сСрвСра Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ….

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ стратСгии Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠ΅ ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹. Π’Ρ‹ ΡƒΠ·Π½Π°Π΅Ρ‚Π΅, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹Π΅ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΈ встроСнныС возмоТности ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… массивов Π΄Π°Π½Π½Ρ‹Ρ… эффСктивно. ΠœΡ‹ рассмотрим ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° Β«Π΄ΠΎΒ» ΠΈ «послС», Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹ ΠΌΠΎΠ³Π»ΠΈ сразу ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ эти знания Π² своСй ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ИспользованиС запросов Π² Ρ†ΠΈΠΊΠ»Π°Ρ… часто маскируСтся ΠΏΠΎΠ΄ Π±Π΅Π·ΠΎΠ±ΠΈΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΏΡ€ΠΈ тСстировании Π½Π° ΠΌΠ°Π»Ρ‹Ρ… Π²Ρ‹Π±ΠΎΡ€ΠΊΠ°Ρ…. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° проявляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… (тысячи ΠΈ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ записСй), вызывая Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΈ зависания систСмы Π² часы ΠΏΠΈΠΊ.

ΠŸΠΎΡ‡Π΅ΠΌΡƒ запросы Π² Ρ†ΠΈΠΊΠ»Π°Ρ… критичСски Π·Π°ΠΌΠ΅Π΄Π»ΡΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ

Основная ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° Π½ΠΈΠ·ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ кроСтся Π² количСствС ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ сСрвСру Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…. КаТдоС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ запроса β€” это сСтСвой Π²Ρ‹Π·ΠΎΠ² (RPC), Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы Π½Π° парсинг SQL-ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ тСкста 1Π‘ ΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ выполнСния Π½Π° сторонС Π‘Π£Π‘Π”. Если ваш Ρ†ΠΈΠΊΠ» ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ 10 000 Ρ€Π°Π·, Π²Ρ‹ ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Π΅Ρ‚Π΅ 10 000 ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ Π±Π°Π·Π΅.

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

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, частыС обращСния ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‚ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ возникновСния Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ. Π’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠ»Π³ΠΎ ΡƒΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ рСсурсы ΠΈΠ»ΠΈ часто ΠΈΡ… Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚, ΠΌΠΎΠ³ΡƒΡ‚ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ΠΎΠ²Π°Ρ‚ΡŒ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌΠΈ систСмы, вызывая Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ (deadlocks). Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ошибкам записи ΠΈ нСобходимости пСрСзапуска сСансов.

АрхитСктура ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π΄Π°Π½Π½Ρ‹Ρ…. Π‘Π΅Ρ€Π²Π΅Ρ€ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… массивов Π·Π° ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·. Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ этого ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° сводит Π½Π° Π½Π΅Ρ‚ всС прСимущСства Ρ‚Ρ€Π΅Ρ…Π·Π²Π΅Π½Π½ΠΎΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹.

πŸ’‘

ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ Β«ΠΎΠ΄Π½ΠΎΠ³ΠΎ запроса»: ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚Π΅ΡΡŒ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ любая логичСская опСрация Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»Π°ΡΡŒ ΠΎΠ΄Π½ΠΈΠΌ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΠΊ Π±Π°Π·Π΅, нСзависимо ΠΎΡ‚ количСства ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… элСмСнтов.

ΠœΠ΅Ρ‚ΠΎΠ΄ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ всСх Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠ΅ΠΉ

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

Рассмотрим ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹ для списка Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². ΠžΡˆΠΈΠ±ΠΎΡ‡Π½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ ΠΏΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌ ΠΈ запрос Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ β€” ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ всС ссылки Π½Π° Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρƒ Π² массив ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ запрос с условиСм Π’ (...).

Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ конструкция Π—ΠΠΠ§Π•ΠΠ˜Π• Π’ (...) ΠΈΠ»ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π½Π° сторонС сСрвСра. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ автоматичСски ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ массив Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² эффСктивный SQL-ΠΊΠΎΠ΄, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π‘Π£Π‘Π”, Ссли объСм Π΄Π°Π½Π½Ρ‹Ρ… Π²Π΅Π»ΠΈΠΊ.

  • πŸš€ Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ: ВрСмя выполнСния сокращаСтся Π² дСсятки ΠΈ сотни Ρ€Π°Π· Π·Π° счСт ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ сСтСвых Π²Ρ‹Π·ΠΎΠ²ΠΎΠ².
  • πŸ“¦ ΠŸΠ°ΠΌΡΡ‚ΡŒ: Π”Π°Π½Π½Ρ‹Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·, Ρ‡Ρ‚ΠΎ позволяСт быстро ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ Π½ΠΈΠΌ Π² Ρ†ΠΈΠΊΠ»Π΅ Π±Π΅Π· Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ.
  • πŸ›‘οΈ Π‘Ρ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ: БниТаСтся риск Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ транзакция Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ становится ΠΊΠΎΡ€ΠΎΡ‡Π΅ ΠΈ Π°Ρ‚ΠΎΠΌΠ°Ρ€Π½Π΅Π΅.

ΠŸΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Π°ΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Π»ΠΈΠΌΠΈΡ‚Ρ‹ Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ запроса. Π₯отя ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΡƒΠΌΠ΅Π΅Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ большиС списки Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Ρ‡Ρ€Π΅Π·ΠΌΠ΅Ρ€Π½ΠΎ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Π΅ массивы (сотни тысяч элСмСнтов) Π»ΡƒΡ‡ΡˆΠ΅ Ρ€Π°Π·Π±ΠΈΠ²Π°Ρ‚ΡŒ Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ явно.

πŸ“Š Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅ всСго?
Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° всСх Π΄Π°Π½Π½Ρ‹Ρ… сразу
Π’Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹
ΠŸΠ°ΠΊΠ΅Ρ‚Π½Ρ‹Π΅ запросы
НС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΡŽ, Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ°Π»ΠΎ

ИспользованиС Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ† для слоТных Π²Ρ‹Π±ΠΎΡ€ΠΎΠΊ

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

Π’Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π² ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ области памяти Π‘Π£Π‘Π” (ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ tempdb Π² MS SQL ΠΈΠ»ΠΈ Π°Π½Π°Π»ΠΎΠ³ Π² PostgreSQL) ΠΈ ΠΆΠΈΠ²ΡƒΡ‚ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… сСанса. Они ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ слоТный процСсс Π½Π° этапы: сначала ΠΎΡ‚Π±ΠΎΡ€ Β«ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚ΠΎΠ²Β», Π·Π°Ρ‚Π΅ΠΌ присоСдинСниС Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ², ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡ‚ΠΎΠΌ β€” итоговая ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π² ΠΊΠΎΠ΄Π΅.

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

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

Запрос.ВСкст =

"ВЫБРАВЬ

| Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.Бсылка КАК Бсылка,

| Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.Π‘ΡƒΠΌΠΌΠ° КАК Π‘ΡƒΠΌΠΌΠ°

|ΠŸΠžΠœΠ•Π‘Π’Π˜Π’Π¬ Π’Π’_Π”Π°Π½Π½Ρ‹Π΅

|Π˜Π—

| Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.РСализацияВоваровУслуг КАК Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚

|Π“Π”Π•

| Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.Π”Π°Ρ‚Π° ΠœΠ•Π–Π”Π£ &ΠΠ°Ρ‡ΠŸΠ΅Ρ€ΠΈΠΎΠ΄Π° И &ΠšΠΎΠ½ΠŸΠ΅Ρ€ΠΈΠΎΠ΄Π°";

Запрос.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€("ΠΠ°Ρ‡ΠŸΠ΅Ρ€ΠΈΠΎΠ΄Π°", ΠΠ°Ρ‡ΠŸΠ΅Ρ€ΠΈΠΎΠ΄Π°);

Запрос.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€("ΠšΠΎΠ½ΠŸΠ΅Ρ€ΠΈΠΎΠ΄Π°", ΠšΠΎΠ½ΠŸΠ΅Ρ€ΠΈΠΎΠ΄Π°);

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

Π’Π’_Π”Π°Π½Π½Ρ‹Π΅ = Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ();

ИспользованиС Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ† особСнно эффСктивно ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ иСрархичСских справочников ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ нСобходимости соСдинСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ€Π°Π·Π½Ρ‹Ρ… ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… рСгистров, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ слоТно ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π² ΠΎΠ΄Π½ΠΎΠΌ запросС Π±Π΅Π· Π΄Π΅ΠΊΠ°Ρ€Ρ‚ΠΎΠ²Π° произвСдСния.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ мСсто Π² tempdb. НС создавайтС ΠΈΡ… Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ²! Π‘ΠΎΠ·Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΎΠ΄Π½Ρƒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΏΠ΅Ρ€Π΅Π΄ Ρ†ΠΈΠΊΠ»ΠΎΠΌ, наполняйтС Π΅Ρ‘ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΠΉΡ‚Π΅.

ΠŸΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ запросов ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° с Π’Π—

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ эффСктивный ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ β€” использованиС Π’Π°Π±Π»ΠΈΡ†Ρ‹ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (Π’Π—) ΠΊΠ°ΠΊ Π±ΡƒΡ„Π΅Ρ€Π° для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ уровнями систСмы. ВмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π΅Π»Π°Ρ‚ΡŒ запрос для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ записи, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ большого запроса Π² Π’Π— ΠΈ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡƒΠΆΠ΅ ΠΏΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Π² памяти.

Π’Π°Π±Π»ΠΈΡ†Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ хранится Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти процСсса сСрвСра 1Π‘. Доступ ΠΊ строкам Π’Π— происходит ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ, Π±Π΅Π· обращСния ΠΊ диску ΠΈΠ»ΠΈ сСти. Π­Ρ‚ΠΎ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ для ситуаций, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ бизнСс-Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкС Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ срСдствами языка запросов 1Π‘.

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

ΠœΠ΅Ρ‚ΠΎΠ΄ Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Нагрузка Π½Π° ΡΠ΅Ρ‚ΡŒ Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ
Запрос Π² Ρ†ΠΈΠΊΠ»Π΅ Низкая ΠšΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΠ°Ρ Низкая
Π’Ρ‹Π±ΠΎΡ€ΠΊΠ° Π² Π’Π— Высокая Минимальная БрСдняя
Π’Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠžΡ‡Π΅Π½ΡŒ высокая Минимальная Высокая
ΠŸΠ°ΠΊΠ΅Ρ‚Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Высокая Низкая БрСдняя

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π’Π— ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ ΠΎ Ρ‚ΠΈΠΏΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. НСявноС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π’Π— ΠΌΠΎΠΆΠ΅Ρ‚ Π½ΠΈΠ²Π΅Π»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Ρˆ Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π‘Ρ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² ΠΈΡ… Π½Π°Ρ‚ΠΈΠ²Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅.

ΠΡŽΠ°Π½ΡΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с NULL Π² Π’Π—

ΠŸΡ€ΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ΅ запроса Π² Π’Π°Π±Π»ΠΈΡ†Ρƒ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ значСния NULL ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΡŽΡ‚ΡΡ Π² пустыС значСния ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ‚ΠΈΠΏΠ°. Π‘ΡƒΠ΄ΡŒΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ условий, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π•ΠŸΡƒΡΡ‚ΠΎ().

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ записи Π΄Π°Π½Π½Ρ‹Ρ…: ΠΏΠ°ΠΊΠ΅Ρ‚Π½Ρ‹Π΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° запросов Π² Ρ†ΠΈΠΊΠ»Π΅ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π° Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния, Π½ΠΎ ΠΈ для записи Π΄Π°Π½Π½Ρ‹Ρ…. Частая ошибка β€” Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ() ΠΈΠ»ΠΈ ΠŸΡ€ΠΎΠ²Π΅ΡΡ‚ΠΈ() для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² Ρ†ΠΈΠΊΠ»Π΅. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌ с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ.

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

Если Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ мноТСство записСй Π² рСгистрС свСдСний ΠΈΠ»ΠΈ накоплСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ запросы языка 1Π‘ с конструкциСй Π˜Π—ΠœΠ•ΠΠ•ΠΠ˜Π• (UPDATE) ΠΈΠ»ΠΈ Π£Π”ΠΠ›Π•ΠΠ˜Π• (DELETE). Π­Ρ‚ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ нСпосрСдствСнно Π½Π° сторонС Π‘Π£Π‘Π” ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ быстрыми.

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

Запрос.ВСкст =

"Π˜Π—ΠœΠ•ΠΠ•ΠΠ˜Π•

| РСгистрБвСдСний.ΠšΡƒΡ€ΡΡ‹Π’Π°Π»ΡŽΡ‚.Π’Π°Π±Π»ΠΈΡ†Π°Π§Π°ΡΡ‚ΡŒ1

|Π£Π‘Π’ΠΠΠžΠ’Π˜Π’Π¬

| ΠšΡƒΡ€Ρ = &ΠΠΎΠ²Ρ‹ΠΉΠšΡƒΡ€Ρ

|Π“Π”Π•

| Π’Π°Π»ΡŽΡ‚Π° Π’ (&Π‘ΠΏΠΈΡΠΎΠΊΠ’Π°Π»ΡŽΡ‚)";

Запрос.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€("ΠΠΎΠ²Ρ‹ΠΉΠšΡƒΡ€Ρ", ΠΠΎΠ²Ρ‹ΠΉΠšΡƒΡ€Ρ);

Запрос.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€("Π‘ΠΏΠΈΡΠΎΠΊΠ’Π°Π»ΡŽΡ‚", ΠœΠ°ΡΡΠΈΠ²Π’Π°Π»ΡŽΡ‚);

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

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

Диагностика ΠΈ поиск ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹Ρ… мСст Π² ΠΊΠΎΠ΄Π΅

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

ΠžΠ±Ρ€Π°Ρ‰Π°ΠΉΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π»ΠΎΠ³ΠΈ с большим количСством ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΡ… запросов, ΠΈΠ΄ΡƒΡ‰ΠΈΡ… подряд. Если Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ ΡΠ΅Ρ€ΠΈΡŽ запросов с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌ тСкстом, Π½ΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΡ…ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ β€” это Π²Π΅Ρ€Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ наличия Ρ†ΠΈΠΊΠ»Π° с запросом.

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

  • πŸ” ВСхнологичСский ΠΆΡƒΡ€Π½Π°Π»: Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ событий DBMSSQL ΠΈΠ»ΠΈ DBV8PG для Π°Π½Π°Π»ΠΈΠ·Π° SQL-запросов.
  • ⏱️ Π—Π°ΠΌΠ΅Ρ€ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ для получСния ΠΎΡ‚Ρ‡Π΅Ρ‚Π° ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния участков ΠΊΠΎΠ΄Π°.
  • πŸ“ Code Review: ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ ΠΊΠΎΠ΄Π° ΠΊΠΎΠ»Π»Π΅Π³ ΠΈΡ‰ΠΈΡ‚Π΅ конструкции Для КаТдого, Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ Π½ΠΎΠ²Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Запрос.

РСгулярный Π°ΡƒΠ΄ΠΈΡ‚ ΠΊΠΎΠ΄Π° Π½Π° ΠΏΡ€Π΅Π΄ΠΌΠ΅Ρ‚ Ρ‚Π°ΠΊΠΈΡ… Π°Π½Ρ‚ΠΈΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡ‚Π°Ρ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒΡŽ процСсса Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² вашСй ΠΊΠΎΠΌΠ°Π½Π΄Π΅. АвтоматичСскиС Π°Π½Π°Π»ΠΈΠ·Π°Ρ‚ΠΎΡ€Ρ‹ ΠΊΠΎΠ΄Π°, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ SonarQube с ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠΌ для 1Π‘ ΠΈΠ»ΠΈ 1Π‘:Code Quality, ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΠ΄ΡΠ²Π΅Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ мСста автоматичСски.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΡ‹ ΠΈ названия инструмСнтов диагностики ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² Ρ€Π°Π·Π½Ρ‹Ρ… вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ ΠΈ конфигурациях. ВсСгда ΡΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ΡΡŒ с documentation вашСй вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ для получСния Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ настройкС ВСхнологичСского ΠΆΡƒΡ€Π½Π°Π»Π°.

πŸ’‘

УстранСниС запросов ΠΈΠ· Ρ†ΠΈΠΊΠ»ΠΎΠ² β€” это Π·Π°Π΄Π°Ρ‡Π° Π½ΠΎΠΌΠ΅Ρ€ ΠΎΠ΄ΠΈΠ½ для любого Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° 1Π‘, ΠΆΠ΅Π»Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ систСмы ΠΏΡ€ΠΈ ростС Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы (FAQ)

МоТно Π»ΠΈ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ запрос Π² Ρ†ΠΈΠΊΠ»Π΅, Ссли Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ°Π»ΠΎ (Π΄ΠΎ 100 ΡˆΡ‚ΡƒΠΊ)?

ВСхничСски это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈ систСма Π½Π΅ Β«ΡƒΠΏΠ°Π΄Π΅Ρ‚Β». Однако это Π·Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠΈΠ½Ρƒ Π·Π°ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ³ΠΎ дСйствия. Когда объСм Π΄Π°Π½Π½Ρ‹Ρ… вырастСт (Π° это Π½Π΅ΠΈΠ·Π±Π΅ΠΆΠ½ΠΎ), ΠΊΠΎΠ΄ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»ΠΊΠΈ. Π›ΡƒΡ‡ΡˆΠ΅ сразу ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ Π² Π’Π—, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ€Π°Π·Π½ΠΈΡ†Π° Π² усилиях минимальна, Π° запас прочности ΠΎΠ³Ρ€ΠΎΠΌΠ΅Π½.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Π»ΠΎΠ³ΠΈΠΊΠ° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ выполнСния запроса для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки ΠΈΠ·-Π·Π° Ρ€Π°Π·Π½Ρ‹Ρ… условий?

ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΡΠ³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ условия. Часто Ρ€Π°Π·Π½Ρ‹Π΅ условия ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π² ΠΎΠ΄ΠΈΠ½ запрос с использованиСм конструкции Π’Π«Π‘ΠžΠ ...ΠšΠžΠ“Π”Π...Π’ΠžΠ“Π”Π (CASE WHEN). Если условия ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π½Ρ‹Π΅ для Ρ€Π°Π·Π½Ρ‹Ρ… Π³Ρ€ΡƒΠΏΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ€Π°Π·Π±Π΅ΠΉΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° Π³Ρ€ΡƒΠΏΠΏΡ‹ Π² ΠΊΠΎΠ΄Π΅, сформуйтС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ списки ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ нСсколько запросов (ΠΏΠΎ количСству Π³Ρ€ΡƒΠΏΠΏ), Π° Π½Π΅ ΠΏΠΎ количСству строк.

ВлияСт Π»ΠΈ использованиС Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ† Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΌΠ°Π»Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΌΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ…?

ΠŸΡ€ΠΈ ΠΎΡ‡Π΅Π½ΡŒ ΠΌΠ°Π»Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΌΠ°Ρ… (Π΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ записСй) созданиС Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ нСбольшиС Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с прямым запросом. Однако эта Ρ€Π°Π·Π½ΠΈΡ†Π° измСряСтся ΠΌΠΈΠΊΡ€ΠΎ- ΠΈΠ»ΠΈ миллисСкундами ΠΈ Π½Π΅ Π·Π°ΠΌΠ΅Ρ‚Π½Π° для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Унификация ΠΊΠΎΠ΄Π° ΠΏΠΎΠ΄ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ с Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ ΠΎΠΏΡ€Π°Π²Π΄Π°Π½Π° для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ читаСмости ΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΠΎΡΡ‚ΠΈ.

Как ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄, Ссли запрос находится Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ события Ρ„ΠΎΡ€ΠΌΡ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠŸΡ€ΠΈΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ)?

Π’ событиях Ρ„ΠΎΡ€ΠΌΡ‹ запросы Π² Ρ†ΠΈΠΊΠ»Π°Ρ… нСдопустимы катСгоричСски, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‚ интСрфСйс ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ асинхронныС Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΈΠ»ΠΈ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…. Если Π΄Π°Π½Π½Ρ‹Π΅ Π½ΡƒΠΆΠ½Ρ‹ для Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… элСмСнтов Ρ„ΠΎΡ€ΠΌΡ‹, Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ ΠΈΡ… ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ»ΠΈ ΠΏΠΎ Ρ‚Π°ΠΉΠΌΠ΅Ρ€Ρƒ, Π½ΠΎ Π½Π΅ Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ поля.

ΠŸΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π»ΠΈ индСксация Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Ρ€Π΅ΡˆΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ запросов Π² Ρ†ΠΈΠΊΠ»Π΅?

НСт. Π˜Π½Π΄Π΅ΠΊΡΡ‹ ΡƒΡΠΊΠΎΡ€ΡΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ запроса, Π½ΠΎ Π½Π΅ ΡƒΡΡ‚Ρ€Π°Π½ΡΡŽΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ мноТСствСнных ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ Π±Π°Π·Π΅. Π”Π°ΠΆΠ΅ Ссли ваш запрос с индСксом выполняСтся Π·Π° 0.1 мс, 10 000 Ρ‚Π°ΠΊΠΈΡ… запросов Π·Π°ΠΉΠΌΡƒΡ‚ сСкунды чистого Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния плюс сСтСвыС Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΊΠΎΠ΄Π° Π²Π°ΠΆΠ½Π΅Π΅ Ρ‚ΠΎΠ½ΠΊΠΎΠΉ настройки индСксов Π² Π΄Π°Π½Π½ΠΎΠΌ контСкстС.