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

ПониманиС ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΡƒΠ·Π»Π°ΠΌΠΈ Π΄Π΅Ρ€Π΅Π²Π° критичСски Π²Π°ΠΆΠ½ΠΎ для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π° Drill-down (ΠΏΡ€ΠΎΠ²Π°Π»ΠΊΠΈ Π² Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ), формирования ΠΏΠ΅Ρ‡Π°Ρ‚Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ Π½Π° основС Π’Π°Π±Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎΠ”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… дСйствий Π² управляСмых Ρ„ΠΎΡ€ΠΌΠ°Ρ…. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ† Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π³Π΄Π΅ строки часто ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΠΎ индСксу ΠΈΠ»ΠΈ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ полям, Π² Π΄Π΅Ρ€Π΅Π²Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ каТдая строка ΠΈΠΌΠ΅Π΅Ρ‚ свой собствСнный систСмный ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ΄.

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

АрхитСктура ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π”Π΅Ρ€Π΅Π²ΠΎΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² 1Π‘

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

Когда Π²Ρ‹ создаСтС Π½ΠΎΠ²ΡƒΡŽ строку ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(), систСма автоматичСски Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ для Π½Π΅Ρ‘ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€. Π­Ρ‚ΠΎΡ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ являСтся Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌ свойством ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠΎΠΉ для отслСТивания ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Для Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° доступ ΠΊ этому ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ осущСствляСтся Ρ‡Π΅Ρ€Π΅Π· свойство Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ (ΠΈΠ»ΠΈ UID Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… контСкстах взаимодСйствия с внСшними источниками).

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: НС ΠΏΡ‹Ρ‚Π°ΠΉΡ‚Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ индСкс строки Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ (ИндСкс()) Π² качСствС постоянного ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°. ΠŸΡ€ΠΈ сортировкС, Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ ΡƒΠ·Π»ΠΎΠ² индСкс измСнится, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ΠΏΠΎΡ‚Π΅Ρ€Π΅ связи с Π½ΡƒΠΆΠ½ΠΎΠΉ записью. ВсСгда ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ Π½Π° систСмный UID.

Π Π°Π±ΠΎΡ‚Π° с ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠ΅ΠΉ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΡƒΡ‡Π΅Ρ‚Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Ρƒ ΠΊΠΎΡ€Π½Π΅Π²Ρ‹Ρ… элСмСнтов ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… ΡƒΠ·Π»ΠΎΠ² ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ хранСния ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, хотя интСрфСйс программирования остаСтся Π΅Π΄ΠΈΠ½Ρ‹ΠΌ. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΎΠ΄Π½ΠΎΠ³ΠΎ экзСмпляра ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π”Π΅Ρ€Π΅Π²ΠΎΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

πŸ’‘

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими Π΄Π΅Ρ€Π΅Π²ΡŒΡΠΌΠΈ (Π±ΠΎΠ»Π΅Π΅ 10 000 строк) ΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ количСство ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ свойствам строки Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»ΠΎΠ², Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· COM-интСрфСйс ΠΈΠ»ΠΈ Ρ‚ΠΎΠ½ΠΊΠΈΠΉ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы.

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ получСния ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° ΠΏΡ€ΠΈ создании строки

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

ПослС Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ() возвращаСтся ссылка Π½Π° созданный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Π‘Ρ‚Ρ€ΠΎΠΊΠ°Π”Π΅Ρ€Π΅Π²Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ИмСнно ΠΈΠ· этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π²Π»Π΅Ρ‡ΡŒ Π½ΡƒΠΆΠ½ΠΎΠ΅ свойство. Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°, Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ этот процСсс:

Π”Π΅Ρ€Π΅Π²ΠΎ = Новый Π”Π΅Ρ€Π΅Π²ΠΎΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ;

Π”Π΅Ρ€Π΅Π²ΠΎ.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("НаимСнованиС");

Π”Π΅Ρ€Π΅Π²ΠΎ.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Π‘ΡƒΠΌΠΌΠ°");

// ДобавляСм ΠΊΠΎΡ€Π½Π΅Π²ΡƒΡŽ строку

НоваяБтрока = Π”Π΅Ρ€Π΅Π²ΠΎ.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ();

НоваяБтрока.НаимСнованиС = "Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΡƒΠ·Π΅Π»";

НоваяБтрока.Π‘ΡƒΠΌΠΌΠ° = 1000;

// ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π‘Ρ‚Ρ€ΠΎΠΊΠΈ = НоваяБтрока.Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€;

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("ID созданной строки: " + Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π‘Ρ‚Ρ€ΠΎΠΊΠΈ);

Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ пСрСмСнная Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ (GUID). Π­Ρ‚ΠΎΡ‚ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… являСтся стандартным для ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сохранСн Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ Π²ΠΎ внСшнюю систСму ΠΈΠ»ΠΈ использован для поиска строки Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ.

Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ элСмСнтами, ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ остаСтся Ρ‚Π΅ΠΌ ΠΆΠ΅. Π’Ρ‹ ΠΎΠ±Ρ€Π°Ρ‰Π°Π΅Ρ‚Π΅ΡΡŒ ΠΊ свойству Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ элСмСнта ΠΈ добавляСтС Π½ΠΎΠ²ΡƒΡŽ запись. ВозвращаСмая ссылка Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ UID.

  • πŸ”Ή ΠœΠ΅Ρ‚ΠΎΠ΄ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ() всСгда Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ссылку Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ строки.
  • πŸ”Ή Бвойство Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ доступно сразу послС создания.
  • πŸ”Ή Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ UID Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ сСанса Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ.
  • πŸ”Ή Π’ΠΈΠΏ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ значСния β€” Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, Ρ‡Ρ‚ΠΎ позволяСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² запросах.

БущСствуСт Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒΠšΠΎΠΏΠΈΡŽ(), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ создаСт Π½ΠΎΠ²ΡƒΡŽ строку с Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Ρ‡Ρ‚ΠΎ ΠΈ исходная. Π’ этом случаС новая строка ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ Π½ΠΎΠ²Ρ‹ΠΉ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ ΠΎΡ‚ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° строки-источника, Ρ‡Ρ‚ΠΎ Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ для ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ систСмы.

πŸ“Š Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ()
Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒΠšΠΎΠΏΠΈΡŽ()
Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ()
Π˜ΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ· XML

Поиск строки ΠΏΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ Π΄Π΅Ρ€Π΅Π²Π΅

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

ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ строк Π΄Π΅Ρ€Π΅Π²Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠ£Π½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ(). Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ для быстрого поиска ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ссылку Π½Π° строку ΠΈΠ»ΠΈ НСопрСдСлСно, Ссли строка с Ρ‚Π°ΠΊΠΈΠΌ ID Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°. ИспользованиС этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡Ρ‚ΠΈΡ‚Π΅Π»ΡŒΠ½Π΅Π΅ Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° Ρ†ΠΈΠΊΠ»ΠΎΠΌ.

Π˜ΡΠΊΠΎΠΌΡ‹ΠΉID = ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ˜Π΄Π˜Π·ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°(); // Допустим, ID ΠΏΡ€ΠΈΡˆΠ΅Π» ΠΈΠ· Ρ„ΠΎΡ€ΠΌΡ‹

НайдСннаяБтрока = Π”Π΅Ρ€Π΅Π²ΠΎ.Π‘Ρ‚Ρ€ΠΎΠΊΠΈ.ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠ£Π½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ(Π˜ΡΠΊΠΎΠΌΡ‹ΠΉID);

Если НайдСннаяБтрока <> НСопрСдСло Π’ΠΎΠ³Π΄Π°

НайдСннаяБтрока.Π‘ΡƒΠΌΠΌΠ° = НайдСннаяБтрока.Π‘ΡƒΠΌΠΌΠ° + 100;

Π˜Π½Π°Ρ‡Π΅

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

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

Π’Π°ΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ видимости поиска. ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠ£Π½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ(), Π²Ρ‹Π·Π²Π°Π½Π½Ρ‹ΠΉ Ρƒ ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π”Π΅Ρ€Π΅Π²ΠΎ.Π‘Ρ‚Ρ€ΠΎΠΊΠΈ, осущСствляСт поиск ΠΏΠΎ всСму Π΄Π΅Ρ€Π΅Π²Ρƒ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ всС ΡƒΡ€ΠΎΠ²Π½ΠΈ влоТСнности. Π’Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ рСкурсивно ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π²Π΅Ρ‚ΠΊΠΈ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Если Π²Ρ‹ Ρ…Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ строк Π² рСгистрС свСдСний ΠΈΠ»ΠΈ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅, ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΈΠΏ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚ΠΈΠΏ Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€. ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊ строкС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ услоТнит ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ поиск ΠΈ Ρ‚ΠΈΠΏΠΈΠ·Π°Ρ†ΠΈΡŽ.

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

ΠŸΠΎΡ‡Π΅ΠΌΡƒ поиск ΠΏΠΎ UID быстрСС ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π°?

ВнутрСнняя рСализация ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π”Π΅Ρ€Π΅Π²ΠΎΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Ρ…ΡΡˆ-Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ для индСксации строк ΠΏΠΎ ΠΈΡ… ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌ. Π­Ρ‚ΠΎ позволяСт Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ элСмСнт Π·Π° врСмя O(1), Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ Ρ†ΠΈΠΊΠ» ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ O(N) ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Ρ‡Ρ‚ΠΎ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎ Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π΄Π΅Ρ€Π΅Π²ΡŒΡΡ….

Π Π°Π±ΠΎΡ‚Π° с Π’Π°Π±Π»ΠΈΡ‡Π½Ρ‹ΠΌ Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ Π²Ρ‹Π²ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Ρ…

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

ΠŸΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ строки Π΄Π΅Ρ€Π΅Π²Π° часто Ρ‚Π΅Ρ€ΡΡŽΡ‚ свои ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠΈ, ΠΏΡ€Π΅Π²Ρ€Π°Ρ‰Π°ΡΡΡŒ Π² Π½Π°Π±ΠΎΡ€ ячССк. Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ связь, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ свойство ячССк Π’Π΅Π³ ΠΈΠ»ΠΈ скрытыС ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ. Π’ свойство Π’Π΅Π³ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ строки.

ΠœΠ΅Ρ‚ΠΎΠ΄ сохранСния связи ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° НСдостатки Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅
Бвойство ячСйки "Π’Π΅Π³" НС Π²ΠΈΠ΄Π½ΠΎ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ, доступно ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ Π’Ρ€Π΅Π±ΡƒΠ΅Ρ‚ доступа ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Π’Π°Π±Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎΠ”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π˜Π½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΎΡ‚Ρ‡Π΅Ρ‚Ρ‹
Бкрытая ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° Π”Π°Π½Π½Ρ‹Π΅ находятся Π² структурС ΠΎΡ‚Ρ‡Π΅Ρ‚Π° Π£Π²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ„Π°ΠΉΠ»Π°, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²ΠΈΠ΄Π½ΠΎ Π² Excel Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° Π² Ρ„Π°ΠΉΠ»Ρ‹
ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π²Ρ‹Π²ΠΎΠ΄Π° Гибкая настройка Π‘Π»ΠΎΠΆΠ½Π΅Π΅ Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки БпСцифичСскиС Π·Π°Π΄Π°Ρ‡ΠΈ

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ записи ID Π² Ρ‚Π΅Π³ ячСйки ΠΏΡ€ΠΈ Π²Ρ‹Π²ΠΎΠ΄Π΅:

ΠžΠ±Π»Π°ΡΡ‚ΡŒΠ’Ρ‹Π²ΠΎΠ΄Π° = ΠœΠ°ΠΊΠ΅Ρ‚.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠžΠ±Π»Π°ΡΡ‚ΡŒ("Π‘Ρ‚Ρ€ΠΎΠΊΠ°");

Для КаТдого Π‘Ρ‚Ρ€ΠΎΠΊΠ°Π”Π΅Ρ€Π΅Π²Π° Из Π”Π΅Ρ€Π΅Π²ΠΎ.Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Π¦ΠΈΠΊΠ»

ΠžΠ±Π»Π°ΡΡ‚ΡŒΠ’Ρ‹Π²ΠΎΠ΄Π°.ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°Π”Π΅Ρ€Π΅Π²Π°);

// ЗаписываСм UID Π² Ρ‚Π΅Π³ области

ΠžΠ±Π»Π°ΡΡ‚ΡŒΠ’Ρ‹Π²ΠΎΠ΄Π°.Π’Π΅Π³ = Π‘Ρ‚Ρ€ΠΎΠΊΠ°Π”Π΅Ρ€Π΅Π²Π°.Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€;

Π’Π°Π±Π”ΠΎΠΊ.ВывСсти(ΠžΠ±Π»Π°ΡΡ‚ΡŒΠ’Ρ‹Π²ΠΎΠ΄Π°);

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

Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ позволяСт Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ события ΠŸΡ€ΠΈΠ’Ρ‹Π±ΠΎΡ€Π΅Π―Ρ‡Π΅ΠΉΠΊΠΈ ΠΈΠ»ΠΈ ΠŸΡ€ΠΈΠΠ°Ρ‡Π°Π»Π΅Π˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚Π΅Π³Π° ΠΈ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ исходным Π΄Π°Π½Π½Ρ‹ΠΌ Π² Π΄Π΅Ρ€Π΅Π²Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ поиска, описанный Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅.

πŸ’‘

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

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° событий Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ взаимодСйствиС с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ

Π’ управляСмых прилоТСниях Π΄Π΅Ρ€Π΅Π²ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ часто отобраТаСтся Π² элСмСнтС Ρ„ΠΎΡ€ΠΌΡ‹ Π”Π΅Ρ€Π΅Π²ΠΎ. Когда ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ взаимодСйствуСт с этим элСмСнтом (выдСляСт строку, Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Π²Π΅Ρ‚ΠΊΡƒ, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ячСйку), программисту ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ строки для выполнСния бизнСс-Π»ΠΎΠ³ΠΈΠΊΠΈ.

Для получСния строки, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΡŽ Π² Ρ„ΠΎΡ€ΠΌΠ΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ свойство ВСкущаяБтрока элСмСнта Ρ„ΠΎΡ€ΠΌΡ‹. Однако, это свойство Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ строки Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΡ‹ настроСн ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ. Часто ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Ρ„ΠΎΡ€ΠΌΡ‹.

Рассмотрим Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ дСйствий Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

  1. ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ строку ΠΈΠ· элСмСнта Ρ„ΠΎΡ€ΠΌΡ‹.
  2. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ строка Π½Π΅ пуста.
  3. Π˜Π·Π²Π»Π΅Ρ‡ΡŒ свойство Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€.
  4. ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ этот ID Π½Π° сСрвСр ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ локально.

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ контСкстС выполнСния. Если ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° происходит Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅, Ρƒ вас Π΅ΡΡ‚ΡŒ прямой доступ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Ρ„ΠΎΡ€ΠΌΡ‹. Если Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π° сСрвСрС, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ UID строки ΠΊΠ°ΠΊ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΈΠ»ΠΈ Ρ‡Π΅Ρ€Π΅Π· структуру ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².

  • πŸ”Ή На ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.Π˜ΠΌΡΠ”Π΅Ρ€Π΅Π²Π°.ВСкущаяБтрока.
  • πŸ”Ή На сСрвСр ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΠΉΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρ‚ΠΈΠΏΠ° Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€.
  • πŸ”Ή ВсСгда провСряйтС сущСствованиС строки ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΊ Π΅Ρ‘ свойствам.

ΠŸΡ€ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ сСрвСром ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° строки ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π·Π°Ρ‚Ρ€Π°Ρ‚Π½ΠΎΠΉ ΠΏΠΎ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΡƒ. ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° (16 Π±Π°ΠΉΡ‚) являСтся ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ для ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ систСмы.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΈ свойства элСмСнтов Ρ„ΠΎΡ€ΠΌΡ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π² Ρ€Π°Π·Π½Ρ‹Ρ… вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘. ВсСгда провСряйтС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ для вашСй ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ вСрсии 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8.3, особСнно Ссли Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ нСстандартныС Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ старыС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ ID Π½Π° сСрвСр

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

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ оптимизация ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ строк Π΄Π΅Ρ€Π΅Π²Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ часто ΡΠΎΠ²Π΅Ρ€ΡˆΠ°ΡŽΡ‚ ряд Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… ошибок, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ приводят ΠΊ Π½Π΅ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΊΠΎΠ΄Π° ΠΈΠ»ΠΈ сниТСнию быстродСйствия. Одна ΠΈΠ· самых распространСнных β€” ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊ строкС Π±Π΅Π· ΡƒΡ‡Π΅Ρ‚Π° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°.

Π’ΠΈΠΏ Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ прямоС сравнСниС. НСт нСобходимости ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² строку Π²ΠΈΠ΄Π° "{GUID}" для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ равСнства. ИспользованиС строкового прСдставлСния ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° процСссор ΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒ, особСнно Π² Ρ†ΠΈΠΊΠ»Π°Ρ… с большим количСством ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ.

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

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

// НСэффСктивно ΠΏΡ€ΠΈ большом количСствС поисков

Для КаТдого Π˜Π” Из Π‘ΠΏΠΈΡΠΎΠΊΠ˜Π” Π¦ΠΈΠΊΠ»

Π‘Ρ‚Ρ€ΠΎΠΊΠ° = Π”Π΅Ρ€Π΅Π²ΠΎ.ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠ£Π½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ(Π˜Π”);

// ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°

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

Π’ Π·Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Π³Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎΠ΅ использованиС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠ² строк Π΄Π΅Ρ€Π΅Π²Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Π΅, ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Π΅ ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Π΅ Π² ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π² срСдС 1Π‘. ПониманиС Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ соблюдСниС Π»ΡƒΡ‡ΡˆΠΈΡ… ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊ программирования ΠΈΠ·Π±Π°Π²ΠΈΡ‚ вас ΠΎΡ‚ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ.

ΠœΠΈΡ„ ΠΎ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ ссылок

МногиС Π΄ΡƒΠΌΠ°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ ссылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π‘Ρ‚Ρ€ΠΎΠΊΠ°Π”Π΅Ρ€Π΅Π²Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²Π΅Ρ‡Π½Π°. Π­Ρ‚ΠΎ Π½Π΅ Ρ‚Π°ΠΊ. ΠŸΡ€ΠΈ сСриализации ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² XML ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Ρ‡Π΅Ρ€Π΅Π· Π³Ρ€Π°Π½ΠΈΡ†Ρƒ контСкста (ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСр) ссылка тСряСтся, остаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ структура Π΄Π°Π½Π½Ρ‹Ρ…. UID ΠΆΠ΅ сохраняСтся ΠΈ позволяСт Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

МоТно Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ строки Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ?

НСт, свойство Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠ˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ доступно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ автоматичСски ΠΏΡ€ΠΈ создании строки ΠΈ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ выполнСния.

Π‘ΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ‚ Π»ΠΈ UID строки Π² Π΄Π΅Ρ€Π΅Π²Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ?

НСт, это Ρ€Π°Π·Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ с Ρ€Π°Π·Π½ΠΎΠΉ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ структурой. Π£ строки Π’Π°Π±Π»ΠΈΡ†Ρ‹Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ‚Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€, Π½ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ ΠΈΡ… Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΈ хранСния нСзависимы. Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ UID ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ смысла.

Как ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ UID строки, Ссли Π΄Π΅Ρ€Π΅Π²ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ΠΎ ΠΈΠ· XML?

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

ВлияСт Π»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ строки с Ρ‚Π΅ΠΌΠΈ ΠΆΠ΅ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π½Π° Π΅Ρ‘ UID?

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

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ UID строки Π΄Π΅Ρ€Π΅Π²Π° Π² запросС ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…?

ΠΠ°ΠΏΡ€ΡΠΌΡƒΡŽ β€” Π½Π΅Ρ‚, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΄Π΅Ρ€Π΅Π²ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ являСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ памяти, Π° Π½Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Однако Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ UID Π² рСгистр свСдСний ΠΈΠ»ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для поиска ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ строки Π² Π΄Π΅Ρ€Π΅Π²Π΅, Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠΌ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ.