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

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

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΡƒΠ³Π»ΡƒΠ±Π»ΡΡ‚ΡŒΡΡ Π² ΠΊΠΎΠ΄, Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½Ρ‹Π΅ ограничСния ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. ΠŸΡ€ΡΠΌΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² Ρ†ΠΈΠΊΠ»Π΅ часто создаСт лишнюю Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° сСрвСр Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ сСтСвой запрос. ΠžΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Π°Ρ стратСгия зависит ΠΎΡ‚ объСма Π΄Π°Π½Π½Ρ‹Ρ…: для дСсятков записСй ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚ простой Ρ†ΠΈΠΊΠ», Π° для тысяч β€” Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° ΠΈΠ»ΠΈ запрос.

ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ‘ΡΡ‹Π»ΠΊΡƒ ΠΈ простого Ρ†ΠΈΠΊΠ»Π°

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

ΠŸΡ€ΠΈ использовании этого способа ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Если Π² справочникС находится 10 000 Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€, Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ 10 000 ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ Π‘Π£Π‘Π”. Π­Ρ‚ΠΎ создаСт ΠΎΠ³Ρ€ΠΎΠΌΠ½ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° ΡΠ΅Ρ‚ΡŒ ΠΈ процСссор сСрвСра 1Π‘. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΏΠ°Π΄Π°Π΅Ρ‚ ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ с ростом количСства записСй.

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Никогда Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ†ΠΈΠΊΠ» с ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ‘ΡΡ‹Π»ΠΊΡƒ Π²Π½ΡƒΡ‚Ρ€ΠΈ сСрвСрных ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€, ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ с большим количСством Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Ρ… частСй. Π­Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Π°ΠΌ соСдинСний.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°, Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ этот ΠΏΠΎΠ΄Ρ…ΠΎΠ΄. Π₯отя ΠΎΠ½ прост Π² написании, Π΅Π³ΠΎ слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ с ΠΎΡΡ‚ΠΎΡ€ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ:

Для Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ = 0 По Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠΈ.НомСнклатура.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ() - 1 Π¦ΠΈΠΊΠ»

Бсылка = Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠΈ.НомСнклатура.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ‘ΡΡ‹Π»ΠΊΡƒ(Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊ);

// ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ссылки

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

πŸ’‘

Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ количСства элСмСнтов ΠΏΠ΅Ρ€Π΅Π΄ Ρ†ΠΈΠΊΠ»ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ свойство .ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ(), Π½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΎ Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ обращСния ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

ΠžΠ±Ρ…ΠΎΠ΄ элСмСнтов Ρ‡Π΅Ρ€Π΅Π· Π’Ρ‹Π±ΠΎΡ€ΠΊΡƒ

Π‘ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹ΠΌ способом являСтся использованиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π’Ρ‹Π±ΠΎΡ€ΠΊΠ°. Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ курсор Π½Π° Π½Π°Π±ΠΎΡ€ записСй ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒΡΡ ΠΏΠΎ Π½ΠΈΠΌ. Π’Ρ‹Π±ΠΎΡ€ΠΊΠ° Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ сниТаСт Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° ΡΠ΅Ρ‚ΡŒ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с поэлСмСнтным запросом.

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

Π“Π»Π°Π²Π½ΠΎΠ΅ прСимущСство Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° β€” Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π΅Ρ‰Π΅ Π½Π° этапС формирования Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΡ‚Π±ΠΎΡ€ ΠΏΠΎ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Ρƒ, Π³Ρ€ΡƒΠΏΠΏΠ΅ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρƒ, Π½Π΅ загруТая Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ лишниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΈ чистым.

  • πŸš€ ΠœΠ΅Ρ‚ΠΎΠ΄ Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ() ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΎΡ‚Π±ΠΎΡ€Π°, Ρ‡Ρ‚ΠΎ ускоряСт Ρ€Π°Π±ΠΎΡ‚Ρƒ.
  • πŸ“¦ Π”Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ, сниТая сСтСвой Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ сСрвСром.
  • πŸ”’ Π’Ρ‹Π±ΠΎΡ€ΠΊΠ° автоматичСски управляСт Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² зависимости ΠΎΡ‚ Ρ€Π΅ΠΆΠΈΠΌΠ° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ.

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π²Ρ‹Π±ΠΎΡ€ΠΊΠΎΠΉ Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ Ρ‚ΠΈΠΏΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ссылки, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½ΡƒΡŽ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ. Если ΠΆΠ΅ трСбуСтся ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ со всСми Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌΠΈ, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΏΠΎΠ΄Π³Ρ€ΡƒΠ·ΠΈΡ‚ ΠΈΡ… ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ свойству. Для максимальной скорости часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ссылок.

πŸ“Š Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅ всСго?
Π’Ρ‹Π±ΠΎΡ€ΠΊΠ°
Запрос
ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ‘ΡΡ‹Π»ΠΊΡƒ
ΠžΠ±Ρ…ΠΎΠ΄ Π΄Π΅Ρ€Π΅Π²Π°

ΠŸΠ΅Ρ€Π΅Π±ΠΎΡ€ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Запрос

Когда Ρ€Π΅Ρ‡ΡŒ Π·Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΎ слоТной Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠ΅ ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹Ρ… массивов Π΄Π°Π½Π½Ρ‹Ρ…, бСзусловным Π»ΠΈΠ΄Π΅Ρ€ΠΎΠΌ являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Запрос. Π­Ρ‚ΠΎΡ‚ инструмСнт позволяСт Ρ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ запросы Π½Π° языкС, Π±Π»ΠΈΠ·ΠΊΠΎΠΌ ΠΊ SQL, нСпосрСдствСнно Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ΄Π° 1Π‘. Запрос выполняСтся Π½Π° сторонС сСрвСра Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ обСспСчиваСт ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ.

ИспользованиС запроса Π΄Π°Π΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅Π½Π½ΠΎ поля Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π±Ρ€Π°Π½Ρ‹. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ΅Π΄ΠΈΠ½ΡΡ‚ΡŒ нСсколько Ρ‚Π°Π±Π»ΠΈΡ†, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°Π³Ρ€Π΅Π³Π°Ρ‚Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ слоТныС условия ΠΎΡ‚Π±ΠΎΡ€Π°. Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ запроса возвращаСтся Π² Π²ΠΈΠ΄Π΅ Π’Ρ‹Π±ΠΎΡ€ΠΊΠ°Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°Π—Π°ΠΏΡ€ΠΎΡΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ Π² Ρ†ΠΈΠΊΠ»Π΅.

ΠšΠ»ΡŽΡ‡Π΅Π²Π°Ρ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с запросами β€” Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ тСкста запроса. Он ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ ТСстко Π·Π°Π΄Π°Π½ Π² ΠΊΠΎΠ΄Π΅, Ρ‚Π°ΠΊ ΠΈ сформирован динамичСски. Для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π² тСкст запроса ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ обозначСния, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΠ΅ΡΡ с символа Β«&Β». Π­Ρ‚ΠΎ Π·Π°Ρ‰ΠΈΡ‰Π°Π΅Ρ‚ ΠΎΡ‚ SQL-ΠΈΠ½ΡŠΠ΅ΠΊΡ†ΠΈΠΉ ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΎΡ‚Π»Π°Π΄ΠΊΡƒ.

ΠœΠ΅Ρ‚ΠΎΠ΄ Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ Нагрузка Π½Π° ΡΠ΅Ρ‚ΡŒ
ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ‘ΡΡ‹Π»ΠΊΡƒ Низкая Низкая Высокая
Π’Ρ‹Π±ΠΎΡ€ΠΊΠ° БрСдняя БрСдняя БрСдняя
Запрос Высокая Высокая Низкая

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° Ρ‡Π΅Ρ€Π΅Π· запрос выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° использованиС ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° запросов ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΠ·Π°Ρ†ΠΈΡŽ:

ВСкстЗапроса = "ВЫБРАВЬ

| БправочникНомСнклатура.Бсылка КАК Бсылка,

| БправочникНомСнклатура.НаимСнованиС КАК НаимСнованиС

|Π˜Π—

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

|Π“Π”Π•

| БправочникНомСнклатура.Π­Ρ‚ΠΎΠ“Ρ€ΡƒΠΏΠΏΠ° = &Π­Ρ‚ΠΎΠ“Ρ€ΡƒΠΏΠΏΠ°";

Запрос = Новый Запрос(ВСкстЗапроса);

Запрос.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€("Π­Ρ‚ΠΎΠ“Ρ€ΡƒΠΏΠΏΠ°", Π›ΠΎΠΆΡŒ);

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

Пока Π’Ρ‹Π±ΠΎΡ€ΠΊΠ°.Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ() Π¦ΠΈΠΊΠ»

// ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π’Ρ‹Π±ΠΎΡ€ΠΊΠ°.Бсылка

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

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

РСкурсивный ΠΎΠ±Ρ…ΠΎΠ΄ иСрархичСских справочников

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

Π§Ρ‚ΠΎΠ±Ρ‹ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ рСкурсивный ΠΎΠ±Ρ…ΠΎΠ΄, ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ() Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€. Π­Ρ‚ΠΎ заставляСт систСму ΡΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ ΠΏΠΎ Π΄Π΅Ρ€Π΅Π²Ρƒ справочника, посСщая ΠΊΠ°ΠΆΠ΄ΡƒΡŽ Π²Π΅Ρ‚ΠΊΡƒ. ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ ΠΎΠ±Ρ…ΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Π΄Π°Π½ ΠΊΠ°ΠΊ Β«ΠΏΠΎ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈΒ», Ρ‚Π°ΠΊ ΠΈ Β«Π½Π΅ иСрархичСски» (плоский список всСх элСмСнтов).

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

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ рСкурсивного ΠΎΠ±Ρ…ΠΎΠ΄Π°

ΠŸΡ€ΠΈ рСкурсивном ΠΎΠ±Ρ…ΠΎΠ΄Π΅ систСма Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ элСмСнт Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½ ΠΏΠ΅Ρ€Π΅Π΄ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΌΠΈ (ΠΈΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, Π² зависимости ΠΎΡ‚ настроСк), Ρ‡Ρ‚ΠΎ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ для Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² накоплСния ΠΈΡ‚ΠΎΠ³ΠΎΠ².

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

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

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

Один ΠΈΠ· способов ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ β€” использованиС Ρ€Π΅ΠΆΠΈΠΌΠ° «управляСмых Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊΒ». Π’ этом случаС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ сам ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, ΠΊΠ°ΠΊΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ Π½Π° ΠΊΠ°ΠΊΠΎΠ΅ врСмя Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π­Ρ‚ΠΎ позволяСт ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ситуаций, ΠΊΠΎΠ³Π΄Π° систСма Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ всю Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ справочника ΠΈΠ·-Π·Π° измСнСния ΠΎΠ΄Π½ΠΎΠ³ΠΎ элСмСнта.

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

  • ⏳ Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π΅ тысяч записСй.
  • πŸ”’ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ явныС Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для критичСских участков ΠΊΠΎΠ΄Π°.
  • πŸ“‰ Π Π°Π·Π±ΠΈΠ²Π°ΠΉΡ‚Π΅ большиС Π·Π°Π΄Π°Ρ‡ΠΈ Π½Π° ΠΌΠ΅Π»ΠΊΠΈΠ΅ ΠΏΠ°ΠΊΠ΅Ρ‚Ρ‹ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π² Ρ„ΠΎΠ½Π΅.
πŸ’‘

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ β€” Π·Π°Π»ΠΎΠ³ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ систСмы 1Π‘ Π² часы ΠΏΠΈΠΊΠΎΠ²ΠΎΠΉ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

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

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

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

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: НС Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Ρ‚ΡŒ рСсурсы. Π₯отя Π² 1Π‘ Π΅ΡΡ‚ΡŒ сборщик мусора, явноС ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΈ запросов послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½Π΅Π΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Ρ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ сСрвСра.

БоблюдСниС этих простых ΠΏΡ€Π°Π²ΠΈΠ» ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΊΠΎΠ΄Ρƒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ быстро ΠΈ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ. РСгулярный Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³ старых участков ΠΊΠΎΠ΄Π° ΠΈ Π·Π°ΠΌΠ΅Π½Π° нСэффСктивных Ρ†ΠΈΠΊΠ»ΠΎΠ² Π½Π° запросы β€” Π»ΡƒΡ‡ΡˆΠ°Ρ инвСстиция Π² ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ вашСй ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

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

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4
Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π’Ρ‹Π±ΠΎΡ€ΠΊΠΎΠΉ ΠΈ Запросом?

Π’Ρ‹Π±ΠΎΡ€ΠΊΠ° β€” это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ прСдоставляСт ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΉ интСрфСйс для ΠΎΠ±Ρ…ΠΎΠ΄Π°, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΌΠ°Ρ…. Запрос β€” это Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹ΠΉ инструмСнт, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΉ SQL-ΠΏΠΎΠ΄ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ нСпосрСдствСнно Π² Π‘Π£Π‘Π”, Ρ‡Ρ‚ΠΎ обСспСчиваСт ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΈ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Как ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ элСмСнты справочника, ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΠ² Π³Ρ€ΡƒΠΏΠΏΡ‹?

Для этого Π² запросС ΠΈΠ»ΠΈ ΠΎΡ‚Π±ΠΎΡ€Π΅ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ условиС Π­Ρ‚ΠΎΠ“Ρ€ΡƒΠΏΠΏΠ° = Π›ΠΎΠΆΡŒ. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π΅ загруТая лишниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π³Ρ€ΡƒΠΏΠΏ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

МоТно Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ элСмСнта прямо Π² Π²Ρ‹Π±ΠΎΡ€ΠΊΠ΅?

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ «управляСмыС Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈΒ» Π² 1Π‘?

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