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

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

1. Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Clear(): простой ΠΈ эффСктивный способ

Π‘Π°ΠΌΡ‹ΠΉ ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΉ ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹ΠΉ способ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС строки ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ встроСнный ΠΌΠ΅Ρ‚ΠΎΠ΄ Clear(). Он доступСн Π²ΠΎ всСх вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8.x ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ максимально быстро, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ очистка происходит Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² систСмы.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования:

Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ();  // ΠΈΠ»ΠΈ Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.Clear(); Π² англоязычной Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈ

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Clear():

  • πŸ”Ή МгновСнноС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ β€” Π½Π΅ зависит ΠΎΡ‚ количСства строк Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅.
  • πŸ”Ή Минимальная Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π½Π° ΠΏΠ°ΠΌΡΡ‚ΡŒ β€” Π½Π΅ создаСт ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².
  • πŸ”Ή Π‘ΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ β€” Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π²ΠΎ всСх конфигурациях Π½Π° Π±Π°Π·Π΅ 1Π‘ 8.1–8.3.
  • πŸ”Ή Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ β€” Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΠΊ Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ строк.

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

Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ();

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹Π€ΠΎΡ€ΠΌΡ‹.Π’Π°Π±Π»ΠΈΡ‡Π½ΠΎΠ΅ΠŸΠΎΠ»Π΅.ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ();

πŸ’‘

Если послС очистки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Ρ„ΠΎΡ€ΠΌΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ всё Ρ€Π°Π²Π½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π»ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π±ΡƒΡ„Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… конфигурациях (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΡ€Π³ΠΎΠ²Π»Π΅ΠΉ 11) для этого Π½ΡƒΠΆΠ½ΠΎ явно Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΡ() Ρƒ Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ поля.

2. Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ строк Π² Ρ†ΠΈΠΊΠ»Π΅: ΠΊΠΎΠ³Π΄Π° это ΠΎΠΏΡ€Π°Π²Π΄Π°Π½ΠΎ?

НСсмотря Π½Π° сущСствованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Clear(), Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°ΡŽΡ‚ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ строки ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΉ Π² Ρ†ΠΈΠΊΠ»Π΅. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π² Ρ€Π΅Π΄ΠΊΠΈΡ… случаях, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠΎΠ³Π΄Π° Π½ΡƒΠΆΠ½ΠΎ:

  • πŸ“Œ Π›ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ).
  • πŸ“Œ Условно ΠΎΡ‡ΠΈΡ‰Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π°ΡΡ‚ΡŒ строк ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΡŽ.
  • πŸ“Œ Π­ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ Π² интСрфСйсС (постСпСнноС ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅).

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° для удалСния всСх строк Π² Ρ†ΠΈΠΊΠ»Π΅ Пока:

Пока Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ() > 0 Π¦ΠΈΠΊΠ»

Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.Π£Π΄Π°Π»ΠΈΡ‚ΡŒ(0); // УдаляСм ΠΏΠ΅Ρ€Π²ΡƒΡŽ строку

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

Или с использованиСм Ρ†ΠΈΠΊΠ»Π° Для ΠΏΠΎ ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽ (Π±ΠΎΠ»Π΅Π΅ бСзопасно, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ индСксы Π½Π΅ ΡΠ΄Π²ΠΈΠ³Π°ΡŽΡ‚ΡΡ):

Для ИндСкс = Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ() - 1 По 0 Π¦ΠΈΠΊΠ»

Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.Π£Π΄Π°Π»ΠΈΡ‚ΡŒ(ИндСкс);

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

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ цикличСского удалСния:

  • ⚠️ Низкая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ β€” ΠΏΡ€ΠΈ 10 000+ строках опСрация Π·Π°ΠΉΠΌΠ΅Ρ‚ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎΠ΅ врСмя.
  • ⚠️ Риск зависания β€” Ссли Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½Ρ‹ строк, Ρ†ΠΈΠΊΠ» ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ интСрфСйс.
  • ⚠️ Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ индСксов β€” ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ строк "спСрСди" индСксы ΡΠ΄Π²ΠΈΠ³Π°ΡŽΡ‚ΡΡ, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ошибкам.
πŸ“Š Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ очистки Ρ‚Π°Π±Π»ΠΈΡ† Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
Clear()
Π¦ΠΈΠΊΠ» ΠΏΠΎ строкам
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹
Π”Ρ€ΡƒΠ³ΠΎΠΉ способ

3. ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ†: Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹

Если Ρ‚Π°Π±Π»ΠΈΡ†Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ содСрТит дСсятки ΠΈΠ»ΠΈ сотни тысяч строк, Π΄Π°ΠΆΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Clear() ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ нСдостаточно быстро. Π’ Ρ‚Π°ΠΊΠΈΡ… случаях стоит Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ:

Бпособ 1. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

ВмСсто очистки старой Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΠΈ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Сю ΡΡ‚Π°Ρ€ΡƒΡŽ. Π­Ρ‚ΠΎ особСнно Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ, Ссли структура Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ (ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ) Π½Π΅ мСняСтся:

НоваяВаблица = Новый Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ;

НоваяВаблица.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("ПолС1", Новый ОписаниСВипов("Π‘Ρ‚Ρ€ΠΎΠΊΠ°"));

// ... добавляСм ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ

Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ = НоваяВаблица;

Бпособ 2. ИспользованиС Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†

Для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… заданиях) ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ВрСмСннаяВаблицаДанных, которая ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с большими объСмами:

ВрСмСннаяВаблица = Новый ВрСмСннаяВаблицаДанных;

ВрСмСннаяВаблица.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("ПолС1");

// ... Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°

ВрСмСннаяВаблица.ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ();

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ:

ΠœΠ΅Ρ‚ΠΎΠ΄ ВрСмя выполнСния (10 000 строк) ВрСмя выполнСния (100 000 строк) ΠŸΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ памяти
Clear() ~0.01 сСк ~0.02 сСк МинимальноС
Π¦ΠΈΠΊΠ» Π£Π΄Π°Π»ΠΈΡ‚ΡŒ() ~0.5 сСк ~5 сСк ВысокоС (ΠΈΠ·-Π·Π° пСрСиндСксации)
Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ~0.03 сСк ~0.05 сСк Π‘Ρ€Π΅Π΄Π½Π΅Π΅ (зависит ΠΎΡ‚ структуры)
πŸ’‘

Для Ρ‚Π°Π±Π»ΠΈΡ† с Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ 10 000 строк всСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Clear() ΠΈΠ»ΠΈ созданиС Π½ΠΎΠ²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. ЦикличСскоС ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π² Ρ‚Π°ΠΊΠΈΡ… случаях Π½Π΅ΠΎΠΏΡ€Π°Π²Π΄Π°Π½Π½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠ΅ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ зависанию клиСнтского прилоТСния.

4. ΠΡŽΠ°Π½ΡΡ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Ρ€Π°Π·Π½Ρ‹Ρ… конфигурациях

ПовСдСниС Ρ‚Π°Π±Π»ΠΈΡ† Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² зависимости ΠΎΡ‚ Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, БухгалтСрия 3.0, Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΡ€Π³ΠΎΠ²Π»Π΅ΠΉ 11, Π—Π°Ρ€ΠΏΠ»Π°Ρ‚Π° ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ пСрсоналом 3.1). Π’ΠΎΡ‚ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ особСнности:

Π’ Π‘ΡƒΡ…Π³Π°Π»Ρ‚Π΅Ρ€ΠΈΠΈ 3.0:

  • πŸ“Š Π’Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² ΠΎΡ‚Ρ‡Π΅Ρ‚Π°Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠžΠ±ΠΎΡ€ΠΎΡ‚Π½ΠΎ-сальдовая Π²Π΅Π΄ΠΎΠΌΠΎΡΡ‚ΡŒ). Π˜Ρ… очистка ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒΠ Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚() для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ отобраТСния.
  • πŸ“Š Π’ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠŸΠΎΡΡ‚ΡƒΠΏΠ»Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ²) Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Π΅ части хранятся ΠΊΠ°ΠΊ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, ΠΈ ΠΈΡ… очистка Π½Π΅ всСгда эквивалСнтна Clear().

Π’ Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ Ρ‚ΠΎΡ€Π³ΠΎΠ²Π»Π΅ΠΉ 11:

  • πŸ›’ Π’Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ… (РСализация Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ², Π—Π°ΠΊΠ°Π· ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°) часто привязаны ΠΊ рСгистрам. Π˜Ρ… очистка ΠΌΠΎΠΆΠ΅Ρ‚ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡ€Π°Π² доступа.
  • πŸ›’ ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с УправляСмыми Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ послС очистки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ() Ρƒ элСмСнтов Ρ„ΠΎΡ€ΠΌΡ‹.

Π’ Π—Π°Ρ€ΠΏΠ»Π°Ρ‚Π΅ ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠΈ пСрсоналом 3.1:

  • πŸ‘₯ Π’Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² расчСтных Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, НачислСниС Π·Π°Ρ€ΠΏΠ»Π°Ρ‚Ρ‹) ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ ΡΠ»ΠΎΠΆΠ½ΡƒΡŽ структуру с Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ. Π˜Ρ… очистка Π΄ΠΎΠ»ΠΆΠ½Π° ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ.
  • πŸ‘₯ ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими массивами Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€ΠΈ расчСтС отпусков) рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π’Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅Π’Π°Π±Π»ΠΈΡ†Ρ‹.
ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ Π² 1Π‘

ERP 2.5:

Π’ ERP 2.5 Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ часто ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Ρ‹ с ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠΌ БизнСс-процСссы ΠΈ Π—Π°Π΄Π°Ρ‡ΠΈ. Π˜Ρ… очистка ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° состояниС бизнСс-процСсса, поэтому ΠΏΠ΅Ρ€Π΅Π΄ использованиСм Clear() рСкомСндуСтся ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ свойство Π­Ρ‚ΠΎΠ“Ρ€ΡƒΠΏΠΏΠ°Π—Π°Π΄Π°Ρ‡ ΠΈΠ»ΠΈ Π­Ρ‚ΠΎΠ­Ρ‚Π°ΠΏΠ‘ΠΈΠ·Π½Π΅ΡΠŸΡ€ΠΎΡ†Π΅ΡΡΠ°.

5. Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ ΠΊΠ°ΠΊ ΠΈΡ… ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ

ΠŸΡ€ΠΈ очисткС Ρ‚Π°Π±Π»ΠΈΡ† Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ часто ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с Π½Π΅ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹ΠΌΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ. Π’ΠΎΡ‚ самыС распространСнныС ошибки ΠΈ способы ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ:

Ошибка 1. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° очистки Null-Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

Если пСрСмСнная Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΈΠ»ΠΈ Ρ€Π°Π²Π½Π° Null, Π²Ρ‹Π·ΠΎΠ² Clear() ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС. ВсСгда провСряйтС сущСствованиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°:

Если Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ <> НСопрСдСлСно Π’ΠΎΠ³Π΄Π°

Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ();

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

Ошибка 2. Π£Ρ‚Π΅Ρ‡ΠΊΠ° памяти ΠΏΡ€ΠΈ частой очисткС

Если Π² Ρ†ΠΈΠΊΠ»Π΅ постоянно ΡΠΎΠ·Π΄Π°ΡŽΡ‚ΡΡ ΠΈ ΠΎΡ‡ΠΈΡ‰Π°ΡŽΡ‚ΡΡ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΡƒΡ‚Π΅Ρ‡ΠΊΠ° памяти ΠΈΠ·-Π·Π° нСосвобоТдСнных Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΡ… Π±ΡƒΡ„Π΅Ρ€ΠΎΠ². РСшСниС β€” явноС освобоТдСниС рСсурсов:

Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ();

Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ = НСопрСдСлСно; // ОсвобоТдаСм ссылку

Ошибка 3. НСсохранСниС структуры ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ

ΠœΠ΅Ρ‚ΠΎΠ΄ Clear() удаляСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строки, Π½ΠΎ сохраняСт структуру ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ. Если Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅:

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

Ошибка 4. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с транзакциями

Если Ρ‚Π°Π±Π»ΠΈΡ†Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ, Π΅Π΅ очистка Π½Π΅ всСгда фиксируСтся ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ. НапримСр:

ΠΠ°Ρ‡Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ();

Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ();

Π—Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠ’Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ(); // Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях измСнСния Π½Π΅ сохранятся!

РСшСниС β€” ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ очистку Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ() для связанных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².

Π’Π°Π±Π»ΠΈΡ†Π° ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° (Π½Π΅ Null)?|Π•ΡΡ‚ΡŒ Π»ΠΈ привязка ΠΊ Ρ„ΠΎΡ€ΠΌΠ΅ (Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ интСрфСйс)?|НуТно Π»ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ структуру ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ?|Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΠΈ ΠΊΠΎΠ΄ Π² Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ?-->

6. ΠŸΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Π΅ Ρ‚Ρ€ΡŽΠΊΠΈ: Π½Π΅ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½Ρ‹Π΅ ΠΏΡ€ΠΈΠ΅ΠΌΡ‹

Иногда стандартныС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π½Π΅ подходят, ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‚ΡΡ Π±ΠΎΠ»Π΅Π΅ Π³ΠΈΠ±ΠΊΠΈΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. Π’ΠΎΡ‚ нСсколько ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Ρ… Ρ‚Ρ€ΡŽΠΊΠΎΠ²:

Π’Ρ€ΡŽΠΊ 1. ΠšΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ структуры Π±Π΅Π· Π΄Π°Π½Π½Ρ‹Ρ…

Если Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ структуру ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ, Π½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС Π΄Π°Π½Π½Ρ‹Π΅, ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠ»ΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π±Π΅Π· строк:

НоваяВаблица = Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΠΈ();

Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ = НоваяВаблица;

Π’Ρ€ΡŽΠΊ 2. Условная очистка с Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠΌ

Если Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ строки, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡƒ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ†ΠΈΠΊΠ» с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ:

ИндСкс = 0;

Пока ИндСкс < Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ() Π¦ΠΈΠΊΠ»

Если Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ[ИндСкс].ПолС1 = "УсловиС" Π’ΠΎΠ³Π΄Π°

Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.Π£Π΄Π°Π»ΠΈΡ‚ΡŒ(ИндСкс);

ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ; // ΠŸΡ€ΠΎΠΏΡƒΡΠΊΠ°Π΅ΠΌ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ индСкса

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

ИндСкс = ИндСкс + 1;

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

Π’Ρ€ΡŽΠΊ 3. ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· запрос (для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…)

Если Ρ‚Π°Π±Π»ΠΈΡ†Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ загруТаСтся ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΠ½ΠΎΠ³Π΄Π° эффСктивнСС ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ Π΅Π΅ Ρ‡Π΅Ρ€Π΅Π· запрос:

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

Запрос.ВСкст = "ВЫБРАВЬ ΠŸΠ•Π Π’Π«Π• 0 * Π˜Π— &Π’Π°Π±Π»ΠΈΡ†Π°";

Запрос.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€("Π’Π°Π±Π»ΠΈΡ†Π°", Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ);

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

Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ(Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚);

Π’Ρ€ΡŽΠΊ 4. ИспользованиС Массив для ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ хранСния

Если Π½ΡƒΠΆΠ½ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅Π΄ очисткой, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ массив:

Π”Π°Π½Π½Ρ‹Π΅ = Новый Массив;

Для КаТдого Π‘Ρ‚Ρ€ΠΎΠΊΠ° Из Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π¦ΠΈΠΊΠ»

Π”Π°Π½Π½Ρ‹Π΅.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°.Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ());

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

Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ();

// ... ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ с Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ

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

Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°);

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

7. ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ тСстированиС

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ критичСски Π²Π°ΠΆΠ½ΠΎ Ρ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² очистки. Π’ΠΎΡ‚ ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ:

ВСст 1. Π—Π°ΠΌΠ΅Ρ€ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ‘Π΅ΠΊΡƒΠ½Π΄Ρ‹() для сравнСния скорости ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ²:

Начало = ВСкущаяДата();

Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ();

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("ВрСмя очистки: " + (ВСкущаяДата() - Начало) + " сСк");

ВСст 2. ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° потрСблСния памяти

Для Π°Π½Π°Π»ΠΈΠ·Π° памяти ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ВСст-Ρ†Π΅Π½Ρ‚Ρ€ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ ΠΈΠ»ΠΈ внСшниС инструмСнты Π²Ρ€ΠΎΠ΄Π΅ Process Explorer:

  1. ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ ВСст-Ρ†Π΅Π½Ρ‚Ρ€ (ΠžΡ‚Π»Π°Π΄ΠΊΠ° β†’ ВСстированиС ΠΈ исправлСниС).
  2. ЗапуститС тСст с большим объСмом Π΄Π°Π½Π½Ρ‹Ρ….
  3. Π‘Ρ€Π°Π²Π½ΠΈΡ‚Π΅ ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ памяти Π΄ΠΎ ΠΈ послС очистки.

ВСст 3. БтрСсс-тСстированиС

Для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠ΄Π° создайтС Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ с 1 000 000 строк ΠΈ ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ Π΅Π΅ Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π°:

  • ⚑ ВрСмя выполнСния.
  • ⚑ Нагрузку Π½Π° CPU.
  • ⚑ Π’ΠΎΠ·Π½ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΠ΅ ошибок (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, НСдостаточно памяти).
Для ИндСкс = 1 По 1000000 Π¦ΠΈΠΊΠ»

Π‘Ρ‚Ρ€ΠΎΠΊΠ° = Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ();

Π‘Ρ‚Ρ€ΠΎΠΊΠ°.ПолС1 = "Π”Π°Π½Π½Ρ‹Π΅ " + ИндСкс;

Π‘Ρ‚Ρ€ΠΎΠΊΠ°.ПолС2 = ИндСкс * 10;

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

-->

8. ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹: ΠΊΠΎΠ³Π΄Π° очистка Π½Π΅ Π½ΡƒΠΆΠ½Π°

Иногда вмСсто очистки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ цСлСсообразнСС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρ‹:

ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ 1. ΠŸΠ΅Ρ€Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

Если Ρ‚Π°Π±Π»ΠΈΡ†Π° Π½ΡƒΠΆΠ½Π° для Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… расчСтов, ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΠΎΡ‡ΠΈΡ‰Π°Ρ‚ΡŒ Π΅Π΅, Π° ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅:

Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ();

// вмСсто этого:

Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ[0].ПолС1 = НовоСЗначСниС; // ΠŸΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки

ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ 2. ИспользованиС БоотвСтствиС ΠΈΠ»ΠΈ Массив

Для Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π½Π°Π±ΠΎΡ€ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… вмСсто Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ:

Π”Π°Π½Π½Ρ‹Π΅ = Новый БоотвСтствиС;

Π”Π°Π½Π½Ρ‹Π΅.Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ("ΠšΠ»ΡŽΡ‡1", "Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅1");

ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ 3. Π Π°Π±ΠΎΡ‚Π° с Π”Π΅Ρ€Π΅Π²ΠΎΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

Если Π΄Π°Π½Π½Ρ‹Π΅ иСрархичСскиС, вмСсто Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π”Π΅Ρ€Π΅Π²ΠΎΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:

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

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

Π£Π·Π΅Π» = Π”Π΅Ρ€Π΅Π²ΠΎ.Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ();

Π£Π·Π΅Π».НаимСнованиС = "ΠšΠΎΡ€Π½Π΅Π²ΠΎΠΉ элСмСнт";

ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ 4. Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π±Π°Π·Π΅

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

πŸ’‘

ΠŸΠ΅Ρ€Π΅Π΄ очисткой Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ всСгда Π·Π°Π΄Π°Π²Π°ΠΉΡ‚Π΅ сСбС вопрос: "А Π½ΡƒΠΆΠ½Π° Π»ΠΈ ΠΎΠ½Π° Π²ΠΎΠΎΠ±Ρ‰Π΅?" Часто Π·Π°Π΄Π°Ρ‡Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ эффСктивным способом, ΠΈΠ·Π±Π΅ΠΆΠ°Π² Ρ€Π°Π±ΠΎΡ‚Ρ‹ с большими объСмами Π΄Π°Π½Π½Ρ‹Ρ… Π² памяти.

FAQ: ЧастыС вопросы ΠΏΠΎ очисткС Ρ‚Π°Π±Π»ΠΈΡ† Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² 1Π‘

МоТно Π»ΠΈ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ очистку Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ?

НСт, ΠΌΠ΅Ρ‚ΠΎΠ΄ Clear() выполняСтся Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Π½Ρƒ (undo). Если Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΊΠ°Ρ‚Π°, ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ скопируйтС Π΄Π°Π½Π½Ρ‹Π΅ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΈΠ»ΠΈ массив:

Π Π΅Π·Π΅Ρ€Π²Π½Π°ΡΠšΠΎΠΏΠΈΡ = Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ();

Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ();

// ... Ссли Π½ΡƒΠΆΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅:

Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ = Π Π΅Π·Π΅Ρ€Π²Π½Π°ΡΠšΠΎΠΏΠΈΡ.Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ();

ΠŸΠΎΡ‡Π΅ΠΌΡƒ послС очистки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π² Ρ„ΠΎΡ€ΠΌΠ΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ?

Π­Ρ‚ΠΎ типичная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с управляСмыми Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ. ПослС очистки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π½ΡƒΠΆΠ½ΠΎ явно ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅:

Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ();

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹Π€ΠΎΡ€ΠΌΡ‹.Π’Π°Π±Π»ΠΈΡ‡Π½ΠΎΠ΅ΠŸΠΎΠ»Π΅.ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ();

Если это Π½Π΅ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚, ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π»ΠΈ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π±ΡƒΡ„Π΅Ρ€ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ привязка ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ Ρ‡Π΅Ρ€Π΅Π· Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠ”Π°Π½Π½Ρ‹Ρ….

Как ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Π·Π°Π΄Π°Π½ΠΈΠΈ?

Π’ Ρ„ΠΎΠ½ΠΎΠ²Ρ‹Ρ… заданиях очистка Ρ‚Π°Π±Π»ΠΈΡ† Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π² ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅. Однако ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΠΉΡ‚Π΅:

  • Π€ΠΎΠ½ΠΎΠ²Ρ‹Π΅ задания ΠΈΠΌΠ΅ΡŽΡ‚ ограничСния ΠΏΠΎ памяти. ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ (100 000+ строк) ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π’Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅Π’Π°Π±Π»ΠΈΡ†Ρ‹.
  • Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ Π΄Π»ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² Ρ†ΠΈΠΊΠ»Π΅ β€” это ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Ρ‚Π°ΠΉΠΌ-Π°ΡƒΡ‚Ρƒ задания.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° для Ρ„ΠΎΠ½Π°:

ВрСмСннаяВаблица = Новый ВрСмСннаяВаблицаДанных;

ВрСмСннаяВаблица.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("ПолС1");

// ... Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ…

ВрСмСннаяВаблица.ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ(); // Быстро ΠΈ бСзопасно

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли ΠΏΡ€ΠΈ очисткС Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ошибка "ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½"?

Π­Ρ‚Π° ошибка ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ:

  1. ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π° (НСопрСдСлСно).
  2. Π’Π°Π±Π»ΠΈΡ†Π° Π±Ρ‹Π»Π° ΡƒΠ΄Π°Π»Π΅Π½Π° Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΏΠΎΡ‚ΠΎΠΊΠ΅ (Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ для сСрвСрных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ²).
  3. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π΅Π²Π΅Ρ€Π½ΠΎΠ΅ имя ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ (ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ°).

РСшСниС β€” Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ:

Если Π’ΠΈΠΏΠ—Π½Ρ‡(Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ) = Π’ΠΈΠΏ("Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ") Π’ΠΎΠ³Π΄Π°

Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ();

Π˜Π½Π°Ρ‡Π΅

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ("Ошибка: Ρ‚Π°Π±Π»ΠΈΡ†Π° Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π°!");

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

Как ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² мобильном ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ 1Π‘?

Π’ 1Π‘:Мобильная ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄ Clear() Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ Π½Π° дСсктопС. Однако ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°ΠΉΡ‚Π΅:

  • ΠœΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ устройства ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Π΅ рСсурсы β€” ΠΈΠ·Π±Π΅Π³Π°ΠΉΡ‚Π΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ† (Π±ΠΎΠ»Π΅Π΅ 10 000 строк).
  • ПослС очистки ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ явноС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ интСрфСйса Ρ‡Π΅Ρ€Π΅Π· ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ().
  • Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… вСрсиях мобильной ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ очистка Ρ‚Π°Π±Π»ΠΈΡ† Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ зависаниям.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ бСзопасной очистки:

Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ();

ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒΠ€ΠΎΡ€ΠΌΡƒ(); // Π―Π²Π½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ интСрфСйса