МСдлСнная Ρ€Π°Π±ΠΎΡ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π½Π° ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ Ρ‡Π°Ρ‰Π΅ всСго Π²Ρ‹Π·Π²Π°Π½Π° Π½Π΅ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ запросами ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Когда ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΆΠ΄Ρ‘Ρ‚ открытия ΠΎΡ‚Ρ‡Π΅Ρ‚Π° ΠΈΠ»ΠΈ провСдСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° нСсколько ΠΌΠΈΠ½ΡƒΡ‚, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° кроСтся Π² Π½Π΅ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ Π‘Π£Π‘Π”. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° транслируСт ΠΊΠΎΠ΄ запроса Π² SQL, ΠΈ Ссли этот SQL нСэффСктивСн, Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠΎΡ‰Π½Ρ‹Π΅ сСрвСры Π½Π΅ спасут ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ.

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

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

Анализ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ‡Π΅Ρ€Π΅Π· тСхнологичСский ΠΆΡƒΡ€Π½Π°Π»

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ шагом Π² диагностикС являСтся Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ тСхнологичСского ΠΆΡƒΡ€Π½Π°Π»Π° (Π’Π–). Π­Ρ‚ΠΎ основной инструмСнт администратора ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° для выявлСния Β«ΡƒΠ·ΠΊΠΈΡ… мСст». Π‘Π΅Π· Π΄Π°Π½Π½Ρ‹Ρ… Π’Π– любая оптимизация прСвращаСтся Π² Π³Π°Π΄Π°Π½ΠΈΠ΅ Π½Π° ΠΊΠΎΡ„Π΅ΠΉΠ½ΠΎΠΉ Π³ΡƒΡ‰Π΅. Π’Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ‡Π΅Ρ‚ΠΊΠΎ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ ΠΈΠΌΠ΅Π½Π½ΠΎ запрос выполняСтся дольшС всСго.

Π’ Ρ„Π°ΠΉΠ»Π΅ настроСк logcfg.xml Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ события dbmssql ΠΈΠ»ΠΈ dbpostgres Π² зависимости ΠΎΡ‚ вашСй Π‘Π£Π‘Π”, Π° Ρ‚Π°ΠΊΠΆΠ΅ событиС query. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ тСкст запроса, врСмя Π΅Π³ΠΎ выполнСния ΠΈ количСство ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π½Ρ‹Ρ… строк. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ReadRows: Ссли ΠΎΠ½ слишком Π²Π΅Π»ΠΈΠΊ, Π·Π½Π°Ρ‡ΠΈΡ‚, запрос Ρ‡ΠΈΡ‚Π°Π΅Ρ‚ лишниС Π΄Π°Π½Π½Ρ‹Π΅.

ПослС сбора Π»ΠΎΠ³ΠΎΠ² ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΈΡ…. Π˜Ρ‰ΠΈΡ‚Π΅ запросы с Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ выполнСния Π±ΠΎΠ»Π΅Π΅ 100-200 мс Π² Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… сцСнариях Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Часто ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° кроСтся Π² отсутствии Π½ΡƒΠΆΠ½Ρ‹Ρ… индСксов ΠΈΠ»ΠΈ Π² Ρ‡Ρ‚Π΅Π½ΠΈΠΈ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Ρ… массивов Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡ‚ΠΎΠΌ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΡŽΡ‚ΡΡ Π² памяти ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.

πŸ“Š Какая Ρƒ вас основная Π‘Π£Π‘Π” для 1Π‘?
MS SQL Server
PostgreSQL
Oracle
IBM DB2

Π’Π°ΠΆΠ½ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒ врСмя выполнСния Π½Π° сторонС Π‘Π£Π‘Π” ΠΈ врСмя ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ сСти. Если запрос выполняСтся быстро, Π½ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π΄ΠΎΠ»Π³ΠΎ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π²Ρ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π½Ρ‹Π΅ поля. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ сСлСктор Π’ΠžΠ›Π¬ΠšΠž Π ΠΠ—Π›Π˜Π§ΠΠ«Π• ΠΈΠ»ΠΈ явно пСрСчисляйтС Π½ΡƒΠΆΠ½Ρ‹Π΅ поля вмСсто Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠΈ.

Π Π°Π±ΠΎΡ‚Π° с ΠΏΠ»Π°Π½ΠΎΠΌ выполнСния запроса

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

Если Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ Π² ΠΏΠ»Π°Π½Π΅ ΠΏΠΎΠ»Π½Ρ‹ΠΉ сканированиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ (Table Scan ΠΈΠ»ΠΈ Seq Scan) вмСсто поиска ΠΏΠΎ индСксу (Index Seek), это Ρ‚Ρ€Π΅Π²ΠΎΠΆΠ½Ρ‹ΠΉ сигнал. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π±Π°Π·Π° Π΄Π°Π½Π½Ρ‹Ρ… Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½Π° ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΊΠ°ΠΆΠ΄ΡƒΡŽ строку Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°ΠΉΡ‚ΠΈ Π½ΡƒΠΆΠ½Ρ‹Π΅ записи. Π’Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ†, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ РСгистры накоплСния.

Частой ошибкой являСтся использованиС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² условиях ΠΎΡ‚Π±ΠΎΡ€Π°. Если Π²Ρ‹ ΠΏΠΈΡˆΠ΅Ρ‚Π΅ условиС Π²Ρ€ΠΎΠ΄Π΅ Π“ΠΎΠ΄(ΠŸΠ΅Ρ€ΠΈΠΎΠ΄) = 2026, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€ Π‘Π£Π‘Π” часто Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ индСкс ΠΏΠΎ полю ΠŸΠ΅Ρ€ΠΈΠΎΠ΄. ВмСсто этого слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π΄Π°Ρ‚:

Π“Π”Π• ΠŸΠ΅Ρ€ΠΈΠΎΠ΄ ΠœΠ•Π–Π”Π£ НачалоГода(2026) И ΠšΠΎΠ½Π΅Ρ†Π“ΠΎΠ΄Π°(2026)

Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ позволяСт Π‘Π£Π‘Π” эффСктивно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ B-Π΄Π΅Ρ€Π΅Π²ΡŒΡ индСксов. Π’Π°ΠΊΠΆΠ΅ слСдитС Π·Π° Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² сравнСниях. Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ строки с числом ΠΈΠ»ΠΈ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ нСявному ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΡŽ Ρ‚ΠΈΠΏΠΎΠ², Ρ‡Ρ‚ΠΎ Π»ΠΎΠΌΠ°Π΅Ρ‚ использованиС индСкса.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ консоль запросов Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ "ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅" для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния запроса Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π΄ Π²Π½Π΅Π΄Ρ€Π΅Π½ΠΈΠ΅ΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: План выполнСния ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ статистики распрСдСлСния Π΄Π°Π½Π½Ρ‹Ρ… Π² Π‘Π£Π‘Π”. Π’ΠΎ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ быстро Π½Π° тСстовой Π±Π°Π·Π΅ с 1000 записСй, ΠΌΠΎΠΆΠ΅Ρ‚ "Π»Π΅Ρ‡ΡŒ" Π½Π° ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π±Π°Π·Π΅ с ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π°ΠΌΠΈ строк.

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ соСдинСний ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†

Π‘Π»ΠΎΠΆΠ½Ρ‹Π΅ запросы с мноТСством соСдинСний (JOIN) часто становятся ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΎΠ². ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ для Ρ€Π°Π·Π±ΠΈΠ²ΠΊΠΈ слоТной Π»ΠΎΠ³ΠΈΠΊΠΈ Π½Π° этапы. Π­Ρ‚ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΊΠΎΠ΄, Π½ΠΎ ΠΈ Π΄Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΌΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ.

ΠŸΡ€ΠΈ использовании Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ† Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ условия ΠΎΡ‚Π±ΠΎΡ€Π°. Π€ΠΈΠ»ΡŒΡ‚Ρ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π½ΡŒΡˆΠ΅, ideally сразу ΠΏΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Π­Ρ‚ΠΎ сократит объСм Π΄Π°Π½Π½Ρ‹Ρ… для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ соСдинСния.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π΅ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ сначала соСдиняСм большиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π° ΠΏΠΎΡ‚ΠΎΠΌ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠ΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚:

ВЫБРАВЬ

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

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

Π˜Π—

Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.РСализация КАК Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚

Π‘ΠžΠ•Π”Π˜ΠΠ•ΠΠ˜Π• РСгистрНакоплСния.ΠŸΡ€ΠΎΠ΄Π°ΠΆΠΈ КАК ΠŸΡ€ΠΎΠ΄Π°ΠΆΠΈ

ПО Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.Бсылка = ΠŸΡ€ΠΎΠ΄Π°ΠΆΠΈ.Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚

Π“Π”Π•

ΠŸΡ€ΠΎΠ΄Π°ΠΆΠΈ.НомСнклатура = &НомСнклатура

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

β˜‘οΈ Π§Π΅ΠΊ-лист ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ соСдинСний

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

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

ИспользованиС индСксов ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†

Π˜Π½Π΄Π΅ΠΊΡΡ‹ β€” это Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π’ 1Π‘ ΠΎΠ½ΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ автоматичСски для основных Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ², Π½ΠΎ для рСгистров ΠΈ слоТных Π²Ρ‹Π±ΠΎΡ€ΠΎΠΊ часто Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ настройки. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ свойства ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΡ… Π·Π° Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ….

Для рСгистров накоплСния критичСски Π²Π°ΠΆΠ½Π° настройка Π’Π΅Π΄ΡƒΡ‰Π΅Π³ΠΎ Π½Π°Π±ΠΎΡ€Π° ΠΏΠΎΠ»Π΅ΠΉ. Если Π²Ρ‹ часто Π΄Π΅Π»Π°Π΅Ρ‚Π΅ ΠΎΡ‚Π±ΠΎΡ€ ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΡŽ, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ стоит ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π² составС индСкса. ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ ΠΏΠΎΠ»Π΅ΠΉ Π² индСксС ΠΈΠΌΠ΅Π΅Ρ‚ Ρ€Π΅ΡˆΠ°ΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для эффСктивности поиска.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΠΎΠ΅ индСксированиС Частая ошибка
РСгистр свСдСний По измСрСниям ΠΈ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Ρƒ ΠžΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΈΠ΅ индСкса ΠΏΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Ρƒ
РСгистр накоплСния Π’Π΅Π΄ΡƒΡ‰ΠΈΠ΅ измСрСния ΠΏΠ΅Ρ€Π²Ρ‹ΠΌΠΈ НСвСрный порядок ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ
Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ По Π΄Π°Ρ‚Π°ΠΌ ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Π°ΠΌ Поиск ΠΏΠΎ нСиндСксируСмым Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌ
Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ По ΠΊΠΎΠ΄Ρƒ ΠΈ наимСнованию ΠŸΠΎΠ»Π½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ ΠΏΡ€ΠΈ поискС подстроки

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ использовании Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ† с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠžΡΡ‚Π°Ρ‚ΠΊΠΈΠ˜ΠžΠ±ΠΎΡ€ΠΎΡ‚Ρ‹(ΠΠ°Ρ‡Π°Π»ΠΎΠŸΠ΅Ρ€ΠΈΠΎΠ΄Π°, ΠšΠΎΠ½Π΅Ρ†ΠŸΠ΅Ρ€ΠΈΠΎΠ΄Π°)) ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ. Ошибки Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°Ρ… ΠΌΠΎΠ³ΡƒΡ‚ привСсти ΠΊ Ρ‡Ρ‚Π΅Π½ΠΈΡŽ всСго рСгистра.

Как ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ индСкс Π² 1Π‘?

Π’ свойствах ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, РСгистра свСдСний) ΠΏΠ΅Ρ€Π΅ΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ "ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…". Π’ спискС ΠΏΠΎΠ»Π΅ΠΉ Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π½ΠΎΠ²Ρ‹Π΅ поля ΠΈΠ»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚Π΅ порядок ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ…. ПослС обновлСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π‘Π£Π‘Π” пСрСстроит индСксы.

Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с большими Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ ΠΈΡ‚ΠΎΠ³Π°ΠΌΠΈ

Когда объСм Π΄Π°Π½Π½Ρ‹Ρ… исчисляСтся ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Π°ΠΌΠΈ записСй, стандартныС ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹ ΠΏΠ΅Ρ€Π΅ΡΡ‚Π°ΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ. Π—Π΄Π΅ΡΡŒ Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠ»Π°Π½ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‚Π° с ΠΈΡ‚ΠΎΠ³Π°ΠΌΠΈ. Π’ΠΊΠ»ΡŽΡ‡Π°ΠΉΡ‚Π΅ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈΡ‚ΠΎΠ³ΠΎΠ² для рСгистров накоплСния, Ссли конфигурация это позволяСт. Π­Ρ‚ΠΎ ΠΊΠ°Ρ€Π΄ΠΈΠ½Π°Π»ΡŒΠ½ΠΎ ускоряСт ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ остатков.

Однако Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈΡ‚ΠΎΠ³ΠΎΠ² ΠΈΠΌΠ΅Π΅Ρ‚ свою Ρ†Π΅Π½Ρƒ: Π·Π°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΠ΅ провСдСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². НСобходимо Π½Π°ΠΉΡ‚ΠΈ баланс. Для ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ², Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰ΠΈΡ… ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ°, использованиС ΠΈΡ‚ΠΎΠ³ΠΎΠ² ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. Для ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ… Π²Π°ΠΆΠ½Π΅Π΅ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ провСдСния.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π ΠΠ—Π Π•Π¨Π•ΠΠž с ΠΎΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ. Он позволяСт Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ Π½Π΅ доступны ΠΏΠΎ ΠΏΡ€Π°Π²Π°ΠΌ, Π½ΠΎ Π² контСкстС ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ½ΠΎΠ³Π΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΎΠ±Ρ…ΠΎΠ΄Π° слоТных ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ ΠΏΡ€Π°Π² доступа Π²Π½ΡƒΡ‚Ρ€ΠΈ запроса, Ссли Π²Ρ‹ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Π² бСзопасности. Но Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сами условия ΠΏΡ€Π°Π² доступа.

Π Π°Π·Π±ΠΈΠ΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ β€” Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΈΠ΅ΠΌ. НС ΠΏΡ‹Ρ‚Π°ΠΉΡ‚Π΅ΡΡŒ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ 100 000 строк Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π·Π° ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·. Π”Π΅Π»Π°ΠΉΡ‚Π΅ это порциями, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π² запросС ΠΈΠ»ΠΈ ограничивая количСство записСй.

πŸ’‘

Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΈΡ‚ΠΎΠ³ΠΎΠ² рСгистров накоплСния β€” Π³Π»Π°Π²Π½Ρ‹ΠΉ Ρ€Ρ‹Ρ‡Π°Π³ ускорСния ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² ΠΏΠΎ остаткам, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ‚Ρ‰Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ тСстирования Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ провСдСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ Π°Π½Ρ‚ΠΈΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½Ρ‹ ΠΊΠΎΠ΄Π°

БущСствуСт ряд Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… ошибок, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ Π΄Π°ΠΆΠ΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ. Одна ΠΈΠ· Π½ΠΈΡ… β€” использованиС Π’Π«Π‘ΠžΠ  Π²Π½ΡƒΡ‚Ρ€ΠΈ условий ΠΎΡ‚Π±ΠΎΡ€Π°. Π­Ρ‚ΠΎ часто ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ Ρ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ индСкс Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. Π‘Ρ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ Π²Ρ‹Π½ΠΎΡΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ условий ΠΈΠ· запроса Π² ΠΊΠΎΠ΄ 1Π‘, Ссли это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈΠ»ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π°Ρ‚ΡŒ условия.

Другая распространСнная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” запросы Π² Ρ†ΠΈΠΊΠ»Π΅. Никогда Π½Π΅ выполняйтС запрос Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ. Π­Ρ‚ΠΎ классичСская ошибка N+1. Π‘Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΎΠ΄ΠΈΠ½ запрос с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ-списком Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ вмСсто мноТСства ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Ρ… запросов.

Π’Π°ΠΊΠΆΠ΅ стоит ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ ΠΎ нСэффСктивном использовании ΠŸΠžΠ”ΠžΠ‘ΠΠž. Поиск ΠΏΠΎ маскС с символом подстановки Π² Π½Π°Ρ‡Π°Π»Π΅ строки (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, %Иванов) Π΄Π΅Π»Π°Π΅Ρ‚ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌ использованиС индСкса. По возмоТности ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ полнотСкстовый поиск ΠΈΠ»ΠΈ Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Π΅ прСдставлСния для слоТных поисковых сцСнариСв.

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

НаконСц, Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрноС взаимодСйствиС. Π›ΠΈΡˆΠ½ΠΈΠ΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹ сСрвСра ΠΈΠ· Ρ‚ΠΎΠ½ΠΊΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ иллюзию ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ³ΠΎ запроса. ΠœΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ количСство ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· Π³Ρ€Π°Π½ΠΈΡ†Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСр, пСрСдавая Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ.

πŸ’‘

Для Π°Π½Π°Π»ΠΈΠ·Π° слоТных запросов ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΊΠ½ΠΎΠΏΠΊΡƒ "ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠ»Π°Π½ выполнСния" Π² консоли запросов. Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ (Cost) β€” самая дорогая опСрация ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈ являСтся ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΎΠΉ Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΎΠ².

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

ΠŸΠΎΡ‡Π΅ΠΌΡƒ запрос выполняСтся быстро Π² консоли, Π½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅?

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ связано с Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ (Π»ΠΎΠΊΠΌΠΈ) со стороны Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈΠ»ΠΈ процСссов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ тСстирования Π² консоли. Π’Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Π² ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅ запрос выполняСтся с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ, Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌΠΈ Π½Π΅ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ»Π°Π½. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Π’Π– Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Как ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊΠΎΠΉ индСкс Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ?

АнализируйтС ΠΏΠ»Π°Π½ выполнСния запроса. Если Π²Ρ‹ Π²ΠΈΠ΄ΠΈΡ‚Π΅ Table Scan Π½Π° большой Ρ‚Π°Π±Π»ΠΈΡ†Π΅, посмотритС Π½Π° условия ΠΎΡ‚Π±ΠΎΡ€Π° (WHERE) ΠΈ поля соСдинСния (JOIN). ИндСкс Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ эти поля. Π’ 1Π‘ порядок ΠΏΠΎΠ»Π΅ΠΉ Π² индСксС Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ порядку ΠΈΡ… использования Π² ΠΎΡ‚Π±ΠΎΡ€Π°Ρ….

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

Π”Π°, Π½ΠΎΠ²Ρ‹Π΅ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ часто содСрТат ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ‚ΠΎΡ€Π° запросов ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² Π‘Π£Π‘Π”. ОбновлСниС ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ Π±Π΅Π· измСнСния ΠΊΠΎΠ΄Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ, особСнно ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с PostgreSQL ΠΈΠ»ΠΈ Π½ΠΎΠ²Ρ‹ΠΌΠΈ вСрсиями MS SQL.

МоТно Π»ΠΈ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ запрос, просто ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ² ΠΏΠ°ΠΌΡΡ‚ΡŒ сСрвСра?

Π£Π²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ памяти (RAM) ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π±ΡƒΡ„Π΅Ρ€Π΅ Π‘Π£Π‘Π”, Ρ‡Ρ‚ΠΎ сниТаСт Π΄ΠΈΡΠΊΠΎΠ²ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°Ρ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ эффСкт, Π½ΠΎ Π½Π΅ Ρ€Π΅ΡˆΠΈΡ‚ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ Π½Π΅ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ SQL-ΠΊΠΎΠ΄Π°. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠΉΡ‚Π΅ запрос, Π·Π°Ρ‚Π΅ΠΌ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠΉΡ‚Π΅ ΠΆΠ΅Π»Π΅Π·ΠΎ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ "парамСтризация запроса" ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½Π° Π½ΡƒΠΆΠ½Π°?

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·Π°Ρ†ΠΈΡ позволяСт ΠΏΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ»Π°Π½ выполнСния запроса для Ρ€Π°Π·Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ². Π‘Π΅Π· Π½Π΅Π΅ Π‘Π£Π‘Π” ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· Π·Π°Π½ΠΎΠ²ΠΎ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ»Π°Π½, тратя рСсурсы процСссора. Π’ 1Π‘ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ запроса (&ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€) вмСсто вставки Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ прямо Π² тСкст.