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

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

Рассмотрим Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ, ΠΈΠ· Ρ‡Π΅Π³ΠΎ состоит этот ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, ΠΊΠ°ΠΊ ΠΎΠ½ отличаСтся ΠΎΡ‚ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ Уникального Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° (Π£Π˜Π”) ΠΈ ΠΊΠ°ΠΊΠΈΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ программист ΠΌΠΎΠΆΠ΅Ρ‚ Π΅Π³ΠΎ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ. ΠœΡ‹ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ ΠΊΠ°ΠΊ ΡˆΡ‚Π°Ρ‚Π½Ρ‹Π΅ срСдства ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‚Π°ΠΊ ΠΈ Π½ΠΈΠ·ΠΊΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²Ρ‹Π΅ запросы ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρƒ вас слоТилась полная ΠΊΠ°Ρ€Ρ‚ΠΈΠ½Π° происходящСго "ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌ" систСмы.

Π€ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ отличия GUID ΠΎΡ‚ Π£Π˜Π” Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ 1Π‘

Частой ошибкой являСтся ΠΏΠΎΠ»Π½ΠΎΠ΅ отоТдСствлСниС понятий GUID ΠΈ Π£Π˜Π” (Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€). Π₯отя ΠΎΠ±Π° ΠΎΠ½ΠΈ слуТат для ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, ΠΈΡ… ΠΏΡ€ΠΈΡ€ΠΎΠ΄Π° ΠΈ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ примСнСния Π² ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ΅ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8 сущСствСнно Ρ€Π°Π·Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ. Π£Π˜Π” β€” это Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ слуТСбный Π½ΠΎΠΌΠ΅Ρ€ записи Π² ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… (SQL), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ гСнСрируСтся Π‘Π£Π‘Π” ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΌ Π΄Π²ΠΈΠΆΠΊΠΎΠΌ 1Π‘ ΠΏΡ€ΠΈ вставкС строки.

Π’ Ρ‚ΠΎ ΠΆΠ΅ врСмя, GUID Π² контСкстС 1Π‘ Ρ‡Π°Ρ‰Π΅ всСго относится ΠΊ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ самого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ ссылки Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² памяти прилоТСния. Он являСтся логичСским ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ, нСзависимым ΠΎΡ‚ физичСской структуры хранСния. НапримСр, ΠΏΡ€ΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… (XML, JSON) ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ синхронизации Π±Π°Π· ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ логичСский GUID, Π° Π½Π΅ физичСский Π£Π˜Π”, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ послСдний ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΈ пСрСносС Π΄Π°Π½Π½Ρ‹Ρ… Π² Π½ΠΎΠ²ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ.

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ссылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² 1Π‘ состоит ΠΈΠ· Π΄Π²ΡƒΡ… частСй: Ρ‚ΠΈΠΏΠ° ссылки ΠΈ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°. Когда Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ со ссылкой Π² ΠΊΠΎΠ΄Π΅, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° автоматичСски управляСт соотвСтствиСм ΠΌΠ΅ΠΆΠ΄Ρƒ логичСским GUID ΠΈ физичСским располоТСниСм Π΄Π°Π½Π½Ρ‹Ρ…. Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ Π·Π½Π°Ρ‚ΡŒ: Ссли Π²Ρ‹ скопируСтС Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ сСрвСр, Π£Π˜Π” записСй ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ (Π² зависимости ΠΎΡ‚ настроСк Π‘Π£Π‘Π”), Π½ΠΎ логичСскиС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² 1Π‘ останутся ΠΏΡ€Π΅ΠΆΠ½ΠΈΠΌΠΈ, Ρ‡Ρ‚ΠΎ обСспСчиваСт Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ссылок.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ прямом ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· SQL-запросы (Π²Π½Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘) Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π£Π˜Π”. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эти значСния Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ΄Π° 1Π‘ Π±Π΅Π· ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкам доступа ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡŽ пустых ссылок.

πŸ’‘

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

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°

ВСхничСски GUID (Globally Unique Identifier) прСдставляСт собой 128-Π±ΠΈΡ‚Π½ΠΎΠ΅ число. Π’ систСмС 1Π‘ ΠΎΠ½ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ отобраТаСтся Π² Π²ΠΈΠ΄Π΅ строки Π΄Π»ΠΈΠ½ΠΎΠΉ 36 символов, состоящСй ΠΈΠ· hexadecimal-Ρ†ΠΈΡ„Ρ€ ΠΈ дСфисов. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ выглядит ΠΊΠ°ΠΊ Π½Π°Π±ΠΎΡ€ Π³Ρ€ΡƒΠΏΠΏ символов, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… дСфисами: 8-4-4-4-12. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊΠΎΠ³ΠΎ значСния: 550e8400-e29b-41d4-a716-446655440000.

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ прСдоставляСт Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… UUID (ΠΈΠ»ΠΈ Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π² русскоязычном интСрфСйсС) для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с этими значСниями. Π­Ρ‚ΠΎΡ‚ Ρ‚ΠΈΠΏ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ для хранСния ΠΈ сравнСния. Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ прСдставлСниС Π² памяти отличаСтся ΠΎΡ‚ строкового, Ρ‡Ρ‚ΠΎ ускоряСт ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ поиска ΠΈ индСксации. ΠŸΡ€ΠΈ сСриализации ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² XML ΠΈΠ»ΠΈ JSON этот Ρ‚ΠΈΠΏ автоматичСски прСобразуСтся Π² строковоС прСдставлСниС, понятноС внСшним систСмам.

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

πŸ’‘

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π² 1Π‘ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ фиксированный объСм памяти ΠΈ сравниваСтся быстрСС, Ρ‡Π΅ΠΌ строковыС прСдставлСния, поэтому ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»Π΅Π½ для ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π² коллСкциях Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ получСния GUID ссылки Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚

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

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π° языкС 1Π‘. Если Ρƒ вас Π΅ΡΡ‚ΡŒ ссылка Π½Π° элСмСнт справочника "НомСнклатура", Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ GUID ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

БсылкаНаВовар = Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠΈ.НомСнклатура.ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡŽ("ΠœΠΎΠ»ΠΎΡ‚ΠΎΠΊ");

Если БсылкаНаВовар.ΠŸΡƒΡΡ‚Π°Ρ() Π’ΠΎΠ³Π΄Π°

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Π’ΠΎΠ²Π°Ρ€ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½");

Π˜Π½Π°Ρ‡Π΅

МойGUID = БсылкаНаВовар.Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€;

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("GUID Ρ‚ΠΎΠ²Π°Ρ€Π°: " + МойGUID);

ΠšΠΎΠ½Π΅Ρ†Π•ΡΠ»ΠΈ;

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

  • πŸ”Ή Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ конструктор Новый Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€() для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ случайного значСния.
  • πŸ”Ή Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ конструктор Новый Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€("строка-с-guid") для восстановлСния ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ значСния.
  • πŸ”Ή ΠŸΡ€ΠΈ записи Π½ΠΎΠ²ΠΎΠ³ΠΎ элСмСнта справочника присвойтС сгСнСрированный ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ свойству ссылки ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ().

Π‘Ρ‚ΠΎΠΈΡ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ прямоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ GUID Ρƒ ΡƒΠΆΠ΅ записанного Π² Π±Π°Π·Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ стандартными срСдствами. Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ присваиваСтся ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΏΡ€ΠΈ создании. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ, придСтся ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ старый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ с Π½ΡƒΠΆΠ½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ остороТности ΠΈΠ·-Π·Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Ρ€Π°Π·Ρ€Ρ‹Π²ΠΎΠ² ссылок Π² рСгистрах накоплСния.

πŸ“Š Как Π²Ρ‹ Ρ‡Π°Ρ‰Π΅ всСго ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ GUID Π² ΠΊΠΎΠ΄Π΅ 1Π‘?
Π§Π΅Ρ€Π΅Π· свойство ссылки
Π§Π΅Ρ€Π΅Π· запрос ΠΊ Π±Π°Π·Π΅
Π§Π΅Ρ€Π΅Π· внСшнюю ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ
Π― Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽ с GUID

Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· язык запросов

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

Для явного получСния значСния UUID Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ запроса ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€() ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π°Ρ‚ΡŒΡΡ ΠΊ псСвдополю ссылки. Однако, Ρ‡Π°Ρ‰Π΅ всСго Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ само ΠΏΠΎΠ»Π΅ ссылки, Π° Π·Π°Ρ‚Π΅ΠΌ Π² ΠΊΠΎΠ΄Π΅ 1Π‘ ΠΈΠ·Π²Π»Π΅ΠΊΠ°ΡŽΡ‚ ΠΈΠ· Π½Π΅Π³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€. Π­Ρ‚ΠΎ обСспСчиваСт Ρ‚ΠΈΠΏΠΎΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΡƒΡŽ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π’ запросах нСльзя Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π΅ ссылки со строковым прСдставлСниСм GUID Π±Π΅Π· явного прСобразования Ρ‚ΠΈΠΏΠΎΠ². ВсСгда ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚Π΅ строку ΠΊ Ρ‚ΠΈΠΏΡƒ Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΠ΅Ρ€Π΅Π΄ использованиСм Π² условии Π“Π”Π•.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ использования Π² запросС:

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

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

"ВЫБРАВЬ

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

| НомСнклатура.НаимСнованиС

|Π˜Π—

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

|Π“Π”Π•

| НомСнклатура.Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ = Π›ΠžΠ–Π¬";

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

Π’Ρ‹Π±ΠΎΡ€ΠΊΠ° = Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ();

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

// ИзвлСкаСм GUID ΠΈΠ· ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΉ ссылки

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅GUID = Π’Ρ‹Π±ΠΎΡ€ΠΊΠ°.Бсылка.Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€;

// Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ°Ρ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°..

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

Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ позволяСт ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ тысячи записСй Π·Π° Π΄ΠΎΠ»ΠΈ сСкунды, минимизируя Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° сСрвСр 1Π‘.

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ запросов с GUID

Если Π²Ρ‹ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠ΅Ρ‚Π΅ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ ΠΏΠΎ извСстному списку GUID, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΈΡ… Π² запрос ΠΊΠ°ΠΊ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ‚ΠΈΠΏΠ° Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ с ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΎΠΉ Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π‘Π£Π‘Π” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ индСксы максимально эффСктивно.

Π’Π°Π±Π»ΠΈΡ†Π° сравнСния ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ

Для систСматизации Π·Π½Π°Π½ΠΈΠΉ ΠΎ способах получСния ΠΈ использования GUID Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… сцСнариях, рассмотрим ΡΡ€Π°Π²Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ. Она ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π² зависимости ΠΎΡ‚ Π·Π°Π΄Π°Ρ‡ΠΈ: разовая опСрация, массовая ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ»ΠΈ интСграция.

ΠœΠ΅Ρ‚ΠΎΠ΄ получСния ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ РСкомСндуСмая сфСра примСнСния
Бвойство .Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Высокая (для Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²) Низкая Π Π°Π±ΠΎΡ‚Π° с Ρ„ΠΎΡ€ΠΌΠΎΠΉ, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΎΠ΄Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°
Ѐункция Новый Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€() МгновСнная Низкая Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… элСмСнтов, гСнСрация ΠΊΠ»ΡŽΡ‡Π΅ΠΉ
Π―Π·Ρ‹ΠΊ запросов (Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° ссылки) Высокая (массовая ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°) БрСдняя ΠžΡ‚Ρ‡Π΅Ρ‚Ρ‹, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΠ±ΠΌΠ΅Π½Π°, миграция Π΄Π°Π½Π½Ρ‹Ρ…
ΠŸΡ€ΡΠΌΠΎΠΉ SQL (Π²Π½Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹) Максимальная Высокая (риск ошибок) АдминистрированиС Π‘Π”, низкоуровнСвая ΠΎΡ‚Π»Π°Π΄ΠΊΠ°

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

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

Одной ΠΈΠ· самых вострСбованных областСй примСнСния GUID являСтся настройка ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ конфигурациями. ΠŸΡ€ΠΈ использовании ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² рСгистрации ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (ΠšΠ” 2.x, 3.x) ΠΈΠΌΠ΅Π½Π½ΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ позволяСт ΡΠΎΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² Π±Π°Π·Π΅-ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚Π΅Π»Π΅ ΠΈ Π±Π°Π·Π΅-ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚Π΅Π»Π΅.

Если Π² Ρ€Π°Π·Π½Ρ‹Ρ… Π±Π°Π·Π°Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ элСмСнты с ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹ΠΌΠΈ наимСнованиями, Π½ΠΎ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌΠΈ Π½ΠΎΠΌΠ΅Ρ€Π°ΠΌΠΈ, систСма опираСтся Π½Π° UUID (ΠΈΠ»ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π° сопоставлСния, основанныС Π½Π° Π½Π΅ΠΌ), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ это ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ физичСский ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠΉ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ΅ справочника ΠΊΠ°ΠΆΠ΄ΠΎΠΌΡƒ элСмСнту присваиваСтся ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ пСрСдаСтся Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ XML.

  • πŸ”Έ ΠŸΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… систСма провСряСт Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ элСмСнта с Ρ‚Π°ΠΊΠΈΠΌ GUID. Если ΠΎΠ½ Π΅ΡΡ‚ΡŒ β€” обновляСт Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹.
  • πŸ”Έ Если элСмСнта с Ρ‚Π°ΠΊΠΈΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ Π½Π΅Ρ‚ β€” создаСтся Π½ΠΎΠ²Ρ‹ΠΉ с сохранСниСм ΠΎΡ€ΠΈΠ³ΠΈΠ½Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ UUID.
  • πŸ”Έ Π­Ρ‚ΠΎ позволяСт ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ дублирования записСй ΠΏΡ€ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠΉ синхронизации.

Π’Π°ΠΆΠ½Ρ‹ΠΌ нюансом являСтся Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ элСмСнта справочника Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΎΠ΄Π½ΠΎΠΉ Π±Π°Π·Ρ‹ Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ GUID, Π΄Π°ΠΆΠ΅ Ссли всС Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ скопированы ΠΎΠ΄ΠΈΠ½ Π² ΠΎΠ΄ΠΈΠ½. Для систСмы это Π΄Π²Π° ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π­Ρ‚ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ слСдуСт ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π»ΠΎΠ³ΠΈΠΊΠΈ бизнСс-процСссов, Π³Π΄Π΅ Π²Π°ΠΆΠ½Π° ΠΏΡ€Π΅Π΅ΠΌΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ Ρ€ΡƒΡ‡Π½ΠΎΠΉ ΠΏΡ€Π°Π²ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π±Π°Π·Π΅ Ρ‡Π΅Ρ€Π΅Π· внСшниС инструмСнты (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, SQL-ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρ‹) ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ GUID ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π½Π΅ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠΌΠΎΠΉ ΠΏΠΎΡ€Ρ‡Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠΎΡ‚Π΅Ρ€Π΅ связСй Π² рСгистрах. Никогда Π½Π΅ мСняйтС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π±Π΅Π· Π³Π»ΡƒΠ±ΠΎΠΊΠΎΠ³ΠΎ понимания Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ 1Π‘.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° цСлостности GUID ΠΏΡ€ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅

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

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

МоТно Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ GUID Ρƒ ΡƒΠΆΠ΅ созданного Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈΠ»ΠΈ элСмСнта справочника?

НСт, стандартными срСдствами ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρƒ ΡƒΠΆΠ΅ записанного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. Он присваиваСтся Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ создания ΠΈ остаСтся Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½Ρ‹ΠΌ Π΄ΠΎ удалСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Для смСны ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° потрСбуСтся ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ²Π»Π΅Ρ‡Π΅Ρ‚ Π·Π° собой ΠΏΠΎΡ‚Π΅Ρ€ΡŽ связСй Π² рСгистрах, ΡΡΡ‹Π»Π°ΡŽΡ‰ΠΈΡ…ΡΡ Π½Π° старый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ свойством Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ UUID()?

Бвойство Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰Π΅Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ ссылки. Ѐункция (ΠΈΠ»ΠΈ конструктор) Новый Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€() ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ, случайного значСния, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΅Ρ‰Π΅ Π½Π΅ привязано Π½ΠΈ ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΠΎΡ‡Π΅ΠΌΡƒ ΠΏΡ€ΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ΅ Π² XML GUID отобраТаСтся Π² Ρ„ΠΈΠ³ΡƒΡ€Π½Ρ‹Ρ… скобках?

Π­Ρ‚ΠΎ стандартный Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ сСриализации Ρ‚ΠΈΠΏΠ° UUID Π² тСкстовыС прСдставлСния Π² экосистСмС 1Π‘. Π€ΠΈΠ³ΡƒΡ€Π½Ρ‹Π΅ скобки {..} явно ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ находится Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ прСдставлСниС ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°. ΠŸΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ Ρ‚Π°ΠΊΠΎΠ³ΠΎ XML ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² 1Π‘ систСма автоматичСски распознаСт этот Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ ΠΈ восстановит Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ….

Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ GUID Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² сСансС 1Π‘?

Для получСния ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΠΎΠΌΡƒ контСксту. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈΠ˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉΠ‘Π°Π·Ρ‹.Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ.Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ uniquely ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ запись Π² справочникС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π° Π½Π΅ просто имя Π²Ρ…ΠΎΠ΄Π° Π² систСму.

ВлияСт Π»ΠΈ GUID Π½Π° ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…?

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