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

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

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ врСмСнная Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½Π° Π½ΡƒΠΆΠ½Π°

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

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

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ сСрвСра 1Π‘. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Ρ… Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ† (сотни тысяч строк со слоТной структурой) Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΈΠ»ΠΈ Π±Π΅Π· нСобходимости ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΈΡΡ‡Π΅Ρ€ΠΏΠ°Π½ΠΈΡŽ памяти ΠΈ падСнию сСрвСра.

Бинтаксис создания Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

ΠŸΡ€ΠΎΡ†Π΅ΡΡ создания Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² языкС запросов 1Π‘ начинаСтся с ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова ВЫБРАВЬ ΠΈ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с ΠΈΠΌΠ΅Π½Π΅ΠΌ, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠΌΡΡ с символа Ρ€Π΅ΡˆΠ΅Ρ‚ΠΊΠΈ #. Π­Ρ‚ΠΎΡ‚ прСфикс являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΌΠ°Ρ€ΠΊΠ΅Ρ€ΠΎΠΌ, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌ систСмС, Ρ‡Ρ‚ΠΎ Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΌ Π½Π°Π±ΠΎΡ€Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π½Π΅ ΠΎ физичСской Ρ‚Π°Π±Π»ΠΈΡ†Π΅.

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

ВЫБРАВЬ

НомСнклатура.Бсылка КАК Бсылка,

НомСнклатура.НаимСнованиС КАК НаимСнованиС,

НомСнклатура.Артикул КАК Артикул

ΠŸΠžΠœΠ•Π‘Π’Π˜Π’Π¬ Π’Π’_Π’ΠΎΠ²Π°Ρ€Ρ‹

Π˜Π—

Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ.НомСнклатура КАК НомСнклатура

Π“Π”Π•

НомСнклатура.Π­Ρ‚ΠΎΠ“Ρ€ΡƒΠΏΠΏΠ° = Π›ΠžΠ–Π¬

ПослС выполнСния Ρ‚Π°ΠΊΠΎΠ³ΠΎ запроса Π² контСкстС Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ сСанса появляСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ #Π’Π’_Π’ΠΎΠ²Π°Ρ€Ρ‹. К Π½Π΅ΠΌΡƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ Π² ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… запросах Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ прСфиксы Π² ΠΈΠΌΠ΅Π½Π°Ρ… Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ #Π’Π’_ ΠΈΠ»ΠΈ #Tmp_, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒ ΠΈΡ… ΠΎΡ‚ физичСских Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… (Π’Π’_ΠžΡ‚Ρ‡Π΅Ρ‚Ρ‹, Π’Π’_ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ).

Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… источников

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

Часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ситуация, ΠΊΠΎΠ³Π΄Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… Ρ€Π°Π·Π½Ρ‹Ρ… рСгистров ΠΈΠ»ΠΈ справочников ΠΏΠ΅Ρ€Π΅Π΄ Ρ„ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠΉ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΎΠΉ. Π’ этом случаС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ ΠžΠ‘ΠͺΠ•Π”Π˜ΠΠ˜Π’Π¬ Π’Π‘Π• ΠΈΠ»ΠΈ ΠžΠ‘ΠͺΠ•Π”Π˜ΠΠ˜Π’Π¬. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстрСС, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π΅ выполняСт ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π½Π° Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Ρ‹ строк, Ρ‡Ρ‚ΠΎ Π² случаС Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ† часто являСтся ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ сцСнариСм.

  • πŸ“‚ Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈΠ· запроса: самый частый сцСнарий, ΠΊΠΎΠ³Π΄Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΠ΄Π½ΠΎΠ³ΠΎ SELECT помСщаСтся Π² Π’Π’ для дальнСйшСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.
  • πŸ’Ύ Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈΠ· внСшнСго источника: Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· CSV ΠΈΠ»ΠΈ XML сначала Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π° Π·Π°Ρ‚Π΅ΠΌ пСрСносятся Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ запроса.
  • βš™οΈ ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅: созданиС структуры Π² ΠΊΠΎΠ΄Π΅ 1Π‘ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Π΅Ρ‘ Π² запрос Ρ‡Π΅Ρ€Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΈΠ»ΠΈ вставку Ρ‡Π΅Ρ€Π΅Π· ВЫБРАВЬ.. Π˜Π— &ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€.

ΠŸΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ (ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ встроСнного языка) Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π²Π°ΠΆΠ½ΠΎ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° соотвСтствиСм Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…. Если Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎΠ»Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ Π‘Ρ‚Ρ€ΠΎΠΊΠ°(100), Π° Π² Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΎΠ½ΠΎ описано ΠΊΠ°ΠΊ Π‘Ρ‚Ρ€ΠΎΠΊΠ°(50), ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ усСчСниС Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ошибка выполнСния запроса.

πŸ“Š ΠžΡ‚ΠΊΡƒΠ΄Π° Π²Ρ‹ Ρ‡Π°Ρ‰Π΅ всСго Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹?
Из запросов ΠΊ Π±Π°Π·Π΅
Из Π²Π½Π΅ΡˆΠ½ΠΈΡ… Ρ„Π°ΠΉΠ»ΠΎΠ² (CSV/XML)
ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ ΠΈΠ· массивов/структур
Из HTTP-сСрвисов

Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ индСксами для ускорСния Ρ€Π°Π±ΠΎΡ‚Ρ‹

Одной ΠΈΠ· самых ΠΌΠΎΡ‰Π½Ρ‹Ρ… возмоТностСй Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ† Π² 1Π‘ являСтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ создания индСксов. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ врСмСнная Ρ‚Π°Π±Π»ΠΈΡ†Π° Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ индСксов, ΠΈ поиск ΠΏΠΎ Π½Π΅ΠΉ осущСствляСтся ΠΏΠΎΠ»Π½Ρ‹ΠΌ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ΠΎΠΌ (scan), Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΌΠ°Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΡ€Π°ΠΉΠ½Π΅ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ индСкса ΠΊΠ°Ρ€Π΄ΠΈΠ½Π°Π»ΡŒΠ½ΠΎ мСняСт ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ.

ИндСкс создаСтся нСпосрСдствСнно Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ опрСдСлСния Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова Π˜ΠΠ”Π•ΠšΠ‘Π˜Π ΠžΠ’ΠΠ’Π¬ ПО. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ нСсколько ΠΏΠΎΠ»Π΅ΠΉ, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ частый поиск ΠΈΠ»ΠΈ соСдинСниС (JOIN) с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π­Ρ‚ΠΎ особСнно Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΈ соСдинСнии Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ с физичСскими Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ рСгистров накоплСния.

Π’ΠΈΠΏ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π‘Π΅Π· индСкса Π‘ индСксом РСкомСндация
Поиск ΠΏΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ МСдлСнно (O(n)) Быстро (O(log n)) ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π’Π’
Π‘ΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ (JOIN) ΠžΡ‡Π΅Π½ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠžΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ поля соСдинСния
Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° (ORDER BY) Π’Ρ€Π΅Π±ΡƒΠ΅Ρ‚ сортировки Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ индСкс ПолСзно для ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ²
Π“Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ° Π—Π°Ρ‚Ρ€Π°Ρ‚Π½ΠΎ УскорСно Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ поля Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ

Бинтаксис создания индСкса выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: послС списка ΠΏΠΎΠ»Π΅ΠΉ Π² сСкции ВЫБРАВЬ добавляСтся Ρ„Ρ€Π°Π·Π° Π˜ΠΠ”Π•ΠšΠ‘Π˜Π ΠžΠ’ΠΠ’Π¬ ПО ПолС1, ПолС2. Π’Π°ΠΆΠ½ΠΎ Π½Π΅ ΠΏΠ΅Ρ€Π΅ΡƒΡΠ΅Ρ€Π΄ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ: созданиС излишнСго количСства индСксов замСдляСт процСсс вставки Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ систСмС приходится постоянно ΠΏΠ΅Ρ€Π΅ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ ΠΈΠ½Π΄Π΅ΠΊΡΠ½ΡƒΡŽ структуру.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π½Π΄Π΅ΠΊΡΡ‹ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΈΠ½Π°Ρ‡Π΅, Ρ‡Π΅ΠΌ Π² SQL Server ΠΈΠ»ΠΈ PostgreSQL. Они эффСктивны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π΄Π²ΠΈΠΆΠΊΠ° 1Π‘. Π˜Π·Π±Ρ‹Ρ‚ΠΎΡ‡Π½ΠΎΠ΅ индСксированиС ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ† (ΠΌΠ΅Π½Π΅Π΅ 1000 строк) ΠΌΠΎΠΆΠ΅Ρ‚ Π΄Π°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ эффСкт ΠΈ Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…

ΠŸΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ систСма 1Π‘ автоматичСски опрСдСляСт Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ поля Π½Π° основС Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ Π² сСкции ВЫБРАВЬ. Однако Π² слоТных случаях, ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ значСния Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ссылка Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈΠ»ΠΈ строка"НС ΡƒΠΊΠ°Π·Π°Π½ΠΎ"), Ρ‚ΠΈΠΏ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ слишком ΡˆΠΈΡ€ΠΎΠΊΠΈΠΌ (ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ), Ρ‡Ρ‚ΠΎ Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½ΠΎ скаТСтся Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ этого, рСкомСндуСтся явно ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π•Π‘Π’Π¬NULL ΠΈΠ»ΠΈ конструктора Ρ‚ΠΈΠΏΠΎΠ², Ссли это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π² контСкстС запроса. Π―Π²Π½ΠΎΠ΅ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° позволяСт Π΄Π²ΠΈΠΆΠΊΡƒ 1Π‘ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² памяти ΠΈ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ сравнСниС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ особСнно Π²Π°ΠΆΠ½ΠΎ для ΠΏΠΎΠ»Π΅ΠΉ, ΡƒΡ‡Π°ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π² условиях соСдинСния.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΡΠΌΠ΅ΡˆΠ°Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ²

Если Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΏΠΎΠ»Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ ΠΈ Числа, ΠΈ Π‘Ρ‚Ρ€ΠΎΠΊΠΈ, систСма Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ, Π½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ сравнСния. ВсСгда ΡΡ‚Ρ€Π΅ΠΌΡŒΡ‚Π΅ΡΡŒ ΠΊ однородности Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°Ρ… Π’Π’.

Π’Π°ΠΊΠΆΠ΅ стоит ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ с NULL-значСниями. Π’ 1Π‘ пустая ссылка ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ NULL Π² контСкстС запросов ΠΌΠΎΠ³ΡƒΡ‚ вСсти сСбя ΠΏΠΎ-Ρ€Π°Π·Π½ΠΎΠΌΡƒ Π² зависимости ΠΎΡ‚ настроСк соСдинСния. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ Π»ΡƒΡ‡ΡˆΠ΅ явно ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ пустыС значСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ Π•Π‘Π’Π¬NULL(ПолС, Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠŸΠΎΠ£ΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ строк ΠΈΠ· Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°.

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ

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

ВмСсто этого слСдуСт ΡΡ‚Ρ€Π΅ΠΌΠΈΡ‚ΡŒΡΡ ΠΊ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ всСх Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ΄Π½ΠΎΠΉ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ…ΠΎΠ΄ΠΎΠΌ Π² Ρ†ΠΈΠΊΠ» ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΊΠ°ΠΊ Π±ΡƒΡ„Π΅Ρ€ для ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ. Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° частая ошибка β€” Π·Π°Π±Ρ‹Ρ‚Ρ‹Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² глобальном контСкстС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚"Π²ΠΈΡΠ΅Ρ‚ΡŒ" Π² памяти Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° сСанса, хотя ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ сборщик мусора 1Π‘ справляСтся с этим автоматичСски.

  • πŸš€ Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ² с запросами: Π·Π°Π³Ρ€ΡƒΠΆΠ°ΠΉΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π’Π’ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΏΠ΅Ρ€Π΅Π΄ Ρ†ΠΈΠΊΠ»ΠΎΠΌ.
  • 🧹 УдаляйтС Π½Π΅Π½ΡƒΠΆΠ½Ρ‹Π΅ поля: Π½Π΅ Π²Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ *, Π±Π΅Ρ€ΠΈΡ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ Π½ΡƒΠΆΠ½Ρ‹ для ΠΎΡ‚Ρ‡Π΅Ρ‚Π°.
  • πŸ”— Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ соСдинСния ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ: провСряйтС Ρ‚ΠΈΠΏ соСдинСния (Π›Π•Π’ΠžΠ•, ВНУВРЕННЕЕ), Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΠΎΡ‚Π΅Ρ€ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈ присоСдинСнии Π’Π’.

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

πŸ’‘

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

МоТно Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ структуру Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ послС Π΅Ρ‘ создания?

НСт, структура Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ (список ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΠΈΡ… Ρ‚ΠΈΠΏΡ‹) фиксируСтся Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ выполнСния запроса с ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ ΠŸΠžΠœΠ•Π‘Π’Π˜Π’Π¬. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ структуру, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ с Π½ΡƒΠΆΠ½Ρ‹ΠΌΠΈ полями ΠΈ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΡƒΠ΄Π° Π΄Π°Π½Π½Ρ‹Π΅, Π»ΠΈΠ±ΠΎ ΠΏΠ΅Ρ€Π΅ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ.

Как Π΄ΠΎΠ»Π³ΠΎ хранятся Π΄Π°Π½Π½Ρ‹Π΅ Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅?

Π”Π°Π½Π½Ρ‹Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти сСрвСра Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΆΠΈΠ·Π½ΠΈ сСанса ΠΈΠ»ΠΈ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ созданы. Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сСанс Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ ΠΈΠ»ΠΈ соСдинСниС разрываСтся, ΠΏΠ°ΠΌΡΡ‚ΡŒ освобоТдаСтся систСмой автоматичСски.

Π’Π»ΠΈΡΡŽΡ‚ Π»ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π½Π° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…?

НСт, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ находятся Π² памяти сСрвСра 1Π‘ ΠΈ Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π‘Π£Π‘Π” (Π² прямом смыслС Ρ‚Π°Π±Π»ΠΈΡ† Π±Π°Π·Ρ‹), ΠΎΠ½ΠΈ Π½Π΅ ΡΠΎΠ·Π΄Π°ΡŽΡ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ записСй Π² физичСской Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ являСтся ΠΈΡ… большим плюсом.

Какой ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ врСмСнная Ρ‚Π°Π±Π»ΠΈΡ†Π°?

ЖСсткого Π»ΠΈΠΌΠΈΡ‚Π° Π½Π° количСство строк Π½Π΅Ρ‚, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ накладываСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ доступным объСмом ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти сСрвСра 1Π‘ ΠΈ настройками кластСра. Однако рСкомСндуСтся Π½Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΌΡ‹ Π² сотни тысяч строк для ΠΎΠ΄Π½ΠΎΠΉ Π’Π’ Π±Π΅Π· особой нСобходимости.