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

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

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ управлСния структурой

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

ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π° Π²Ρ…ΠΎΠ΄ имя ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² Π²ΠΈΠ΄Π΅ строки ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ описания ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ. Π’Π°ΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ происходит Β«Π½Π° мСстС», Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ исходный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ модифицируСтся. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΡΡ…ΠΎΠ΄Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ создайтС Π΅Ρ‘ копию с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΈΠ»ΠΈ клонирования всСй Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°, Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ синтаксис удалСния:

Π’Π— = Новый Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ;

Π’Π—.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("НомСнклатура");

Π’Π—.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ");

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

// УдаляСм ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ

Π’Π—.Колонки.Π£Π΄Π°Π»ΠΈΡ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΡƒ("Π‘ΡƒΠΌΠΌΠ°");

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠœΠ΅Ρ‚ΠΎΠ΄ Π£Π΄Π°Π»ΠΈΡ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΡƒ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ пСрСстройку Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ структуры хранСния Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. ΠŸΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ большого количСства ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² Ρ†ΠΈΠΊΠ»Π΅ это ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π΄Π΅Π³Ρ€Π°Π΄Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. РСкомСндуСтся Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список удаляСмых ΠΈΠΌΠ΅Π½ Π·Π°Ρ€Π°Π½Π΅Π΅.

Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΏΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ΅

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

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

  • πŸ“‚ ΠœΠ΅Ρ‚ΠΎΠ΄ создаСт ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π½Π΅ затрагивая исходный.
  • ⚑ ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ выполняСтся быстрСС, Ρ‡Π΅ΠΌ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎΠ΅ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² Ρ†ΠΈΠΊΠ»Π΅.
  • πŸ›‘οΈ Π“Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Π² Π½ΠΎΠ²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π½Π΅ останСтся «скрытых» ΠΈΠ»ΠΈ Π·Π°Π±Ρ‹Ρ‚Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования ΠΌΠ΅Ρ‚ΠΎΠ΄Π° для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ структуры:

Π˜ΡΡ…ΠΎΠ΄Π½Π°ΡΠ’Π— = ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ”Π°Π½Π½Ρ‹Π΅Π˜Π·Π‘Π”();

// ΠžΡΡ‚Π°Π²Π»ΡΠ΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ поля для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ, убирая слуТСбныС UUID

НоваяВЗ = Π˜ΡΡ…ΠΎΠ΄Π½Π°ΡΠ’Π—.Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΠΈ("НомСнклатура,ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ,Π¦Π΅Π½Π°");

Π’Π°ΠΊΠΆΠ΅ стоит ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ, Π½ΠΎ позволяСт Π³ΠΈΠ±ΠΊΠΎ Π½Π°ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ соотвСтствиС ΠΈΠΌΠ΅Π½ ΠΏΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. Если ваша Ρ†Π΅Π»ΡŒ β€” просто ΡƒΠ±Ρ€Π°Ρ‚ΡŒ лишнСС, Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΠΈ являСтся Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ ΠΈ сСмантичСски Π²Π΅Ρ€Π½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ.

πŸ“Š Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ удалСния ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
Π£Π΄Π°Π»ΠΈΡ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΡƒ (прямоС ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅)
Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΠΈ (ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ)
Бвойства (ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ видимости)
НС ΡƒΠ΄Π°Π»ΡΡŽ, ΠΎΡΡ‚Π°Π²Π»ΡΡŽ ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ

Π‘ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Ρ‡Π΅Ρ€Π΅Π· свойства

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

Π­Ρ‚ΠΎΡ‚ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π½Π΅ экономит ΠΏΠ°ΠΌΡΡ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΄Π°Π½Π½Ρ‹Π΅ Π² ячСйках ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°ΡŽΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ, Π½ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ для ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² Π²Ρ‹Π²ΠΎΠ΄Π°, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ Π’Π°Π±Π»ΠΈΡ‡Π½Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈΠ»ΠΈ Π’Π°Π±Π»ΠΈΡ‡Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Ρ„ΠΎΡ€ΠΌΡ‹. Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΏΡ€ΠΈ динамичСском Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ², Π³Π΄Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ сам Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Π΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ.

Для управлСния Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ коллСкция свойств ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ:

Колонка = Π’Π—.Колонки.Найти("Π‘Π»ΡƒΠΆΠ΅Π±Π½Ρ‹ΠΉΠšΠΎΠ΄");

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

Колонка.Π’ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ = Π›ΠΎΠΆΡŒ;

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

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

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

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, содСрТащими дСсятки ΠΈΠ»ΠΈ сотни тысяч строк, Π²Ρ‹Π±ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° удалСния ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ становится ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹ΠΌ для ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ Π£Π΄Π°Π»ΠΈΡ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΡƒ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ сдвига Π΄Π°Π½Π½Ρ‹Ρ… Π² памяти, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ O(N), Π³Π΄Π΅ N β€” количСство строк. ΠœΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ² этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΊΠ²Π°Π΄Ρ€Π°Ρ‚ΠΈΡ‡Π½ΠΎΠΉ зависимости Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния ΠΎΡ‚ количСства удаляСмых ΠΏΠΎΠ»Π΅ΠΉ.

НаиболСС эффСктивным способом «удалСния» большого количСства ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΈΠ· объСмной Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ являСтся созданиС Π½ΠΎΠ²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ с Π½ΡƒΠΆΠ½ΠΎΠΉ структурой ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ массового копирования строк ΠΌΠ΅ΠΆΠ΄Ρƒ совмСстимыми Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ.

ΠœΠ΅Ρ‚ΠΎΠ΄ ВлияниС Π½Π° ΠΏΠ°ΠΌΡΡ‚ΡŒ Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ (большая Π’Π—) РСкомСндация
Π£Π΄Π°Π»ΠΈΡ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΡƒ ΠžΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Π΅Ρ‚ ΠΏΠ°ΠΌΡΡ‚ΡŒ Низкая (Π² Ρ†ΠΈΠΊΠ»Π΅) Для 1-2 ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ
Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΠΈ Π’Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄Π²ΠΎΠΉΠ½ΠΎΠΉ памяти Высокая Для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»Π΅ΠΉ
Π’ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ = Π›ΠΎΠΆΡŒ Π‘Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ МгновСнно Для ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² ΠΈ Ρ„ΠΎΡ€ΠΌ

Если объСм Π΄Π°Π½Π½Ρ‹Ρ… ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π΅Π½ ΠΈ ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΡΡ‚Ρ€Π°Ρ‚Π΅Π³ΠΈΡŽ «чтСния ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈΒ»: считывайтС Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π±Π°Π·Ρ‹ сразу Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ с Π½ΡƒΠΆΠ½ΠΎΠΉ структурой, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Запрос ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΠ Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ. Π­Ρ‚ΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ создания Π»ΠΈΡˆΠ½ΠΈΡ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π΅Ρ‰Π΅ Π½Π° этапС получСния Π΄Π°Π½Π½Ρ‹Ρ….

πŸ’‘

ΠŸΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚Π° ΠΏΠΎ рСгистру накоплСния всСгда ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΠΉΡ‚Π΅ Π² тСкстС запроса Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ поля. НС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ "ВЫБРАВЬ *", Ссли Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹ всС ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ рСгистра. Π­Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠ°Ρ ΠΏΡ€ΠΎΡ„ΠΈΠ»Π°ΠΊΡ‚ΠΈΠΊΠ° появлСния Π»ΠΈΡˆΠ½ΠΈΡ… ΠΏΠΎΠ»Π΅ΠΉ Π² Π’Π°Π±Π»ΠΈΡ†Π΅ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ситуаций

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

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ бСзопасного удалСния:

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ£Π΄Π°Π»ΠΈΡ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΡƒ(Π’Π°Π±Π»ΠΈΡ†Π°, ИмяКолонки)

Колонка = Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.Найти(ИмяКолонки);

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

Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.Π£Π΄Π°Π»ΠΈΡ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΡƒ(Колонка);

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

ΠšΠΎΠ½Π΅Ρ†ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹

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

ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка "Π’ΠΈΠΏ значСния Π½Π΅ соотвСтствуСт Ρ‚ΠΈΠΏΡƒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ"?

Π­Ρ‚Π° ошибка часто появляСтся, ΠΊΠΎΠ³Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ пытаСтся Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΠ½ "ΡƒΠ΄Π°Π»ΠΈΠ»" логичСски (скрыв Π΅Ρ‘), Π½ΠΎ Π½Π΅ ΡƒΠ΄Π°Π»ΠΈΠ» физичСски. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ сохранила старый Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ…, Π° Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄ пытаСтся Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°. РСшСниС β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ физичСскоС ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ.

Π‘ΠΏΠ΅Ρ†ΠΈΡ„ΠΈΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² управляСмых Ρ„ΠΎΡ€ΠΌΠ°Ρ…

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

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

  • πŸ–₯️ ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΈΠΉ ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ структуру Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π±ΡƒΠ΄ΡŒΡ‚Π΅ остороТны ΠΏΡ€ΠΈ динамичСском ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ.
  • πŸ”„ ΠŸΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΡ‹ Π»ΡƒΡ‡ΡˆΠ΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΡƒΡŽ структуру ΠΈΠ»ΠΈ явно ΡΠΎΠ³Π»Π°ΡΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ измСнСния.
  • πŸ”’ Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ совмСстимости ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ограничСния Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ структуры Ρ‚Π°Π±Π»ΠΈΡ†, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ ссылкС.

Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ структуры Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² управляСмом ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Колонки Π² сочСтании с Ρ†ΠΈΠΊΠ»ΠΎΠΌ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π°, выводя ΠΈΠΌΠ΅Π½Π° ΠΏΠΎΠ»Π΅ΠΉ Π² ΠΆΡƒΡ€Π½Π°Π» рСгистрации ΠΈΠ»ΠΈ консоль ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ. Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ лишниС ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ.

πŸ’‘

Π—ΠΎΠ»ΠΎΡ‚ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ: Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠΉΡ‚Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ с Π½ΡƒΠΆΠ½ΠΎΠΉ структурой сразу Π½Π° этапС запроса ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…. Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ создания Β«ΡˆΠΈΡ€ΠΎΠΊΠΈΡ…Β» Ρ‚Π°Π±Π»ΠΈΡ† с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ Π»ΠΈΡˆΠ½ΠΈΡ… ΠΏΠΎΠ»Π΅ΠΉ β€” это расходуСт рСсурсы Π‘Π£Π‘Π” ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти.

МоТно Π»ΠΈ Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½ΡƒΡŽ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ Π² Π’Π°Π±Π»ΠΈΡ†Π΅ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ?

НСт, ΠΌΠ΅Ρ‚ΠΎΠ΄ Π£Π΄Π°Π»ΠΈΡ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΡƒ Π½Π΅ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠΌ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ экзСмпляра ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π”Π°Π½Π½Ρ‹Π΅ Π² ячСйках этой ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π±ΡƒΠ΄ΡƒΡ‚ потСряны Π±Π΅Π·Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π½ΠΎ. Π§Ρ‚ΠΎΠ±Ρ‹ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Ρ‘ Π·Π°Π½ΠΎΠ²ΠΎ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ‚ΠΎΠ΄ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ, Π½ΠΎ ΠΎΠ½Π° Π±ΡƒΠ΄Π΅Ρ‚ пустой. Если Π½ΡƒΠΆΠ½Ρ‹ Π΄Π°Π½Π½Ρ‹Π΅, ΠΈΡ… придСтся Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ ΠΈΠ»ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ.

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ() ΠΈ Π£Π΄Π°Π»ΠΈΡ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΡƒ()?

ΠœΠ΅Ρ‚ΠΎΠ΄ ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ() удаляСт всС строки ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π½ΠΎ сохраняСт структуру (Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ). ΠœΠ΅Ρ‚ΠΎΠ΄ Π£Π΄Π°Π»ΠΈΡ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΡƒ() удаляСт описаниС поля ΠΈΠ· структуры, Π½ΠΎ сохраняСт строки (Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ½ΠΈ становятся ΠΊΠΎΡ€ΠΎΡ‡Π΅). Для ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ сброса Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΡŽ этих ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΈΠ»ΠΈ созданиС Π½ΠΎΠ²ΠΎΠ³ΠΎ экзСмпляра.

Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ нСсколько ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΎΠ΄Π½ΠΈΠΌ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ?

ВстроСнного ΠΌΠ΅Ρ‚ΠΎΠ΄Π° для массового удалСния ΠΏΠΎ списку ΠΈΠΌΠ΅Π½ Π½Π΅ сущСствуСт. НСобходимо ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ». Для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ рСкомСндуСтся сначала ΡΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π° удаляСмых ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² список, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ†ΠΈΠΊΠ»ΠΎΠΌ, Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΠΈ, пСрСчислив Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ поля, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ.

ВлияСт Π»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π½Π° индСксы Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹?

Π”Π°. Если ΠΏΠΎ удаляСмой ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ Π±Ρ‹Π» построСн индСкс (свойство Π˜Π½Π΄Π΅ΠΊΡΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅), Ρ‚ΠΎ ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ индСкс автоматичСски уничтоТаСтся. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот индСкс Π² ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… опСрациях поиска ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС. Π˜Π½Π΄Π΅ΠΊΡΡ‹ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒ послС измСнСния структуры.