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

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

Если Π²Ρ‹ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚Π΅ ΠΎΡΠ²Π°ΠΈΠ²Π°Ρ‚ΡŒ 1Π‘ ΠΈΠ»ΠΈ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΈΡΡ‚Π΅ΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ знания ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, этот ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Ρ… ΠΊΠ°ΠΌΠ½Π΅ΠΉ. Для ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Ρ… Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΌΡ‹ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΠ»ΠΈ Ρ€Π°Π·Π΄Π΅Π» с ΠΏΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹ΠΌΠΈ Ρ‚Π΅Ρ…Π½ΠΈΠΊΠ°ΠΌΠΈ, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π₯ранилищСЗначСния.Π‘ΠΆΠ°Ρ‚ΡŒ() ΠΈ ΠΎΠ±ΠΌΠ΅Π½ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Π±Π°Π·Π°ΠΌΠΈ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² 1Π‘ ΠΈ Π·Π°Ρ‡Π΅ΠΌ ΠΎΠ½ΠΎ Π½ΡƒΠΆΠ½ΠΎ

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

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ сцСнарии использования:

  • πŸ“Š Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Ρ… расчётов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄Π΅Ρ‚Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΡ‚Ρ‡Ρ‘Ρ‚ΠΎΠ²) для ускорСния ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ открытия.
  • πŸ”„ ОбмСн Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Π±Π°Π·Π°ΠΌΠΈ Ρ‡Π΅Ρ€Π΅Π· Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ»ΠΈ Π²Π΅Π±-сСрвисы (Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ позволяСт ΡƒΠΏΠ°ΠΊΠΎΠ²Π°Ρ‚ΡŒ слоТныС структуры Π² ΠΎΠ΄ΠΈΠ½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚).
  • πŸ“ АрхивированиС вСрсий Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² с историСй ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для согласования ΠΈΠ»ΠΈ Π°ΡƒΠ΄ΠΈΡ‚Π°).
  • ⚑ ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими ΠΎΠ±ΡŠΡ‘ΠΌΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… (Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ количСство запросов ΠΊ Π±Π°Π·Π΅).

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

πŸ“Š Как часто Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² 1Π‘?
ΠŸΠΎΡΡ‚ΠΎΡΠ½Π½ΠΎ, Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ
Иногда, для спСцифичСских Π·Π°Π΄Π°Ρ‡
РаньшС ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π», Π½ΠΎ отказался
Никогда нС использовал

Π‘Π°Π·ΠΎΠ²Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ записи Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ прСдоставляСт нСсколько ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ². Рассмотрим ΠΈΡ… с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ ΠΊΠΎΠ΄Π° ΠΈ нюансами примСнСния.

1. ΠœΠ΅Ρ‚ΠΎΠ΄ Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ()

Π‘Π°ΠΌΡ‹ΠΉ простой способ β€” ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ(). Он сСриализуСт ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ сохраняСт Π΅Π³ΠΎ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ = Новый Π₯ранилищСЗначСния();

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ(Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ); // БохраняСм Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ = Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅;

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°:

  • πŸ”Ή ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ…: Число, Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Π”Π°Ρ‚Π°, Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π”Π΅Ρ€Π΅Π²ΠΎΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ Π΄Ρ€.
  • πŸ”Ή НС сТимаСт Π΄Π°Π½Π½Ρ‹Π΅ β€” Ссли Π½ΡƒΠΆΠ½ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ‘ΠΎΠΆΠ°Ρ‚Ρ‚ΠΈΠ΅ΠΌ().
  • πŸ”Ή НС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Π±Π°Π·Ρ‹ (справочники, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹) β€” ΠΈΡ… Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π² структуры ΠΈΠ»ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

2. ΠœΠ΅Ρ‚ΠΎΠ΄ Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ‘ΠΎΠΆΠ°Ρ‚Ρ‚ΠΈΠ΅ΠΌ()

Если Π΄Π°Π½Π½Ρ‹Π΅ Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ ΠΌΠ½ΠΎΠ³ΠΎ мСста (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, большиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹), цСлСсообразно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сТатиС:

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ = Новый Π₯ранилищСЗначСния();

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ‘ΠΎΠΆΠ°Ρ‚Ρ‚ΠΈΠ΅ΠΌ(Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉΠœΠ°ΡΡΠΈΠ²Π”Π°Π½Π½Ρ‹Ρ…);

Π‘ΠΆΠ°Ρ‚ΠΈΠ΅ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π½Π° 30–70% (Π² зависимости ΠΎΡ‚ Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…), Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… рСсурсов процСссора ΠΏΡ€ΠΈ записи/Ρ‡Ρ‚Π΅Π½ΠΈΠΈ. ΠžΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ для:

  • πŸ“‰ Архивов Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, истории ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²).
  • πŸ“€ ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ сСти (ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ).
πŸ’‘

ΠŸΠ΅Ρ€Π΅Π΄ сТатиСм ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ Π²Ρ‹ΠΈΠ³Ρ€Ρ‹Ρˆ: для ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… (ΠΌΠ΅Π½Π΅Π΅ 10 ΠšΠ‘) сТатиС ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ нСэффСктивным ΠΈ Π΄Π°ΠΆΠ΅ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠ·-Π·Π° слуТСбных Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ².

3. Π—Π°ΠΏΠΈΡΡŒ Ρ‡Π΅Ρ€Π΅Π· конструктор Новый Π₯ранилищСЗначСния(Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅)

ΠšΡ€Π°Ρ‚ΠΊΠ°Ρ Ρ„ΠΎΡ€ΠΌΠ° записи, эквивалСнтная Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ():

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ = Новый Π₯ранилищСЗначСния(Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°Π”Π°Π½Π½Ρ‹Ρ…);

Π£Π΄ΠΎΠ±Π½ΠΎ для однострочного ΠΊΠΎΠ΄Π°, Π½ΠΎ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ сТатиС.

ΠœΠ΅Ρ‚ΠΎΠ΄ Π‘ΠΆΠ°Ρ‚ΠΈΠ΅ ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Ρ‚ΠΈΠΏΡ‹ ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования
Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ() ❌ НСт ВсС сСриализуСмыС Ρ‚ΠΈΠΏΡ‹ Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… структур
Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ‘ΠΎΠΆΠ°Ρ‚Ρ‚ΠΈΠ΅ΠΌ() βœ… Π”Π° ВсС сСриализуСмыС Ρ‚ΠΈΠΏΡ‹ АрхивированиС Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…
ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ Новый Π₯ранилищСЗначСния() ❌ НСт ВсС сСриализуСмыС Ρ‚ΠΈΠΏΡ‹ ΠšΡ€Π°Ρ‚ΠΊΠ°Ρ запись Π² ΠΎΠ΄Π½Ρƒ строку

КакиС Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ (ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ β€” нСльзя)

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ встроСнных Ρ‚ΠΈΠΏΠΎΠ² 1Π‘, Π½ΠΎ Π΅ΡΡ‚ΡŒ Π²Π°ΠΆΠ½Ρ‹Π΅ ограничСния. Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрёмся, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ, Π° Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Ρ‚ ΠΊ ошибкС.

βœ… ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…

  • πŸ“Œ ΠŸΡ€ΠΎΡΡ‚Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹: Число, Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Π”Π°Ρ‚Π°, Π‘ΡƒΠ»Π΅Π²ΠΎ, NULL.
  • πŸ“Œ БоставныС Ρ‚ΠΈΠΏΡ‹:
    • Массив (Π²ΠΊΠ»ΡŽΡ‡Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅).
    • Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΈ БоотвСтствиС.
    • Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ Π”Π΅Ρ€Π΅Π²ΠΎΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.
    • Π₯ранилищСЗначСния (ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π΄Ρ€ΡƒΠ³ Π² Π΄Ρ€ΡƒΠ³Π°).
  • πŸ“Œ Π‘ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅: Π”Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅Π”Π°Π½Π½Ρ‹Π΅, ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°, Π€Π°ΠΉΠ».

❌ НСсСриализуСмыС Ρ‚ΠΈΠΏΡ‹ (ΠΏΡ€ΠΈΠ²Π΅Π΄ΡƒΡ‚ ΠΊ ошибкС)

  • 🚫 ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…: справочники, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹, рСгистры (Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π² структуры/Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹).
  • 🚫 ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ COM ΠΈ .NET (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Excel.Application).
  • 🚫 Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ (нСльзя ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΊΠ°ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅).
  • 🚫 ΠŸΠΎΡ‚ΠΎΠΊΠΈ (ΠŸΠΎΡ‚ΠΎΠΊ, Π€Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉΠŸΠΎΡ‚ΠΎΠΊ) β€” Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС чтСния Π² Π”Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅Π”Π°Π½Π½Ρ‹Π΅.
Π§Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ нСсСриализуСмый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚?

ΠŸΡ€ΠΈ записи, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, справочника Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ (Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ(Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠΈ.НомСнклатура.ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡŽ("Π’ΠΎΠ²Π°Ρ€"))), ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° выбросит ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅: "НСдопустимоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° (ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Π½ΠΎΠΌΠ΅Ρ€ '1')". Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибки, ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠΉΡ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² структуру:

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π”Π°Π½Π½Ρ‹Ρ… = Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠΈ.НомСнклатура.ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡŽ("Π’ΠΎΠ²Π°Ρ€");

БтруктураДляΠ₯ранСния = Новый Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°("НаимСнованиС,Артикул,Π¦Π΅Π½Π°",

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π”Π°Π½Π½Ρ‹Ρ….НаимСнованиС,

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π”Π°Π½Π½Ρ‹Ρ….Артикул,

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Π”Π°Π½Π½Ρ‹Ρ….Π¦Π΅Π½Π°);

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ(БтруктураДляΠ₯ранСния);

Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ссылку Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π±Π°Π·Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ восстановлСния), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ‘ΡΡ‹Π»ΠΊΡƒ():

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

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ(БсылкаНаДокумСнт); // БохраняСм ссылку, Π° Π½Π΅ сам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚

πŸ’‘

ВсСгда провСряйтС ΡΠ΅Ρ€ΠΈΠ°Π»ΠΈΠ·ΡƒΠ΅ΠΌΠΎΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π΄ записью. Для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π±Π°Π·Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² структуры ΠΈΠ»ΠΈ сохранСниС ссылок.

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹: запись Ρ‚Π°Π±Π»ΠΈΡ†, Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π² ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… структур

Рассмотрим Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Π΅ сцСнарии Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ, Π³Π΄Π΅ трСбуСтся ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ слоТныС Π΄Π°Π½Π½Ρ‹Π΅.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 1: Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ с ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠ΅ΠΉ

Допустим, Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Π° с Ρ‚ΠΎΠ²Π°Ρ€Π°ΠΌΠΈ ΠΈ ΠΈΡ… характСристиками, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅:

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

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

Π’Π°Π±Π»ΠΈΡ†Π°Π’ΠΎΠ²Π°Ρ€ΠΎΠ².Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Π¦Π΅Π½Π°");

Π’Π°Π±Π»ΠΈΡ†Π°Π’ΠΎΠ²Π°Ρ€ΠΎΠ².Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Π₯арактСристики", Новый ОписаниСВипов("Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°"));

// ЗаполняСм Π΄Π°Π½Π½Ρ‹ΠΌΠΈ

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

Π‘Ρ‚Ρ€ΠΎΠΊΠ°.НаимСнованиС = "Ноутбук";

Π‘Ρ‚Ρ€ΠΎΠΊΠ°.Π¦Π΅Π½Π° = 50000;

Π‘Ρ‚Ρ€ΠΎΠΊΠ°.Π₯арактСристики = Новый Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°("ΠŸΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€,ΠžΠ—Π£", "Intel i5", "16 Π“Π‘");

// БохраняСм Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ = Новый Π₯ранилищСЗначСния();

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ‘ΠΎΠΆΠ°Ρ‚Ρ‚ΠΈΠ΅ΠΌ(Π’Π°Π±Π»ΠΈΡ†Π°Π’ΠΎΠ²Π°Ρ€ΠΎΠ²);

Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.Π’ΠΎΠ²Π°Ρ€Ρ‹ = Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅;

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 2: Π”Π΅Ρ€Π΅Π²ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ для иСрархичСских Π΄Π°Π½Π½Ρ‹Ρ…

Если Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡƒΡŽ структуру (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, катСгория β†’ подкатСгория β†’ Ρ‚ΠΎΠ²Π°Ρ€), ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π”Π΅Ρ€Π΅Π²ΠΎΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ:

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

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

ΠšΠΎΡ€Π΅Π½ΡŒ.Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = "Π­Π»Π΅ΠΊΡ‚Ρ€ΠΎΠ½ΠΈΠΊΠ°";

ΠŸΠΎΠ΄ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡ = ΠšΠΎΡ€Π΅Π½ΡŒ.Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ();

ΠŸΠΎΠ΄ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡ.Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = "Ноутбуки";

Π’ΠΎΠ²Π°Ρ€ = ΠŸΠΎΠ΄ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡ.Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ();

Π’ΠΎΠ²Π°Ρ€.Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = Новый Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°("НаимСнованиС,Π¦Π΅Π½Π°", "MacBook Pro", 120000);

// БохраняСм Π΄Π΅Ρ€Π΅Π²ΠΎ

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ(Π”Π΅Ρ€Π΅Π²ΠΎ);

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ 3: Π’Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° для слоТных структур

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»Π°Π΄Ρ‹Π²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ Π² Π΄Ρ€ΡƒΠ³Π°, создавая ΠΌΠ½ΠΎΠ³ΠΎΠΌΠ΅Ρ€Π½Ρ‹Π΅ Π°Ρ€Ρ…ΠΈΠ²Ρ‹. НапримСр, сохраним ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°:

Π˜ΡΡ‚ΠΎΡ€ΠΈΡΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ = Новый Массив;

// Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ измСнСния создаём Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅

Для КаТдого ИзмСнСниС Из БписокИзмСнСний Π¦ΠΈΠΊΠ»

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Π˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΡ = Новый Π₯ранилищСЗначСния();

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Π˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΡ.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ‘ΠΎΠΆΠ°Ρ‚Ρ‚ΠΈΠ΅ΠΌ(ИзмСнСниС.Π”Π°Π½Π½Ρ‹Π΅);

Π˜ΡΡ‚ΠΎΡ€ΠΈΡΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Π˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΡ);

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

// БохраняСм массив Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰ Π² Π³Π»Π°Π²Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅

Π“Π»Π°Π²Π½ΠΎΠ΅Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ = Новый Π₯ранилищСЗначСния();

Π“Π»Π°Π²Π½ΠΎΠ΅Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ‘ΠΎΠΆΠ°Ρ‚Ρ‚ΠΈΠ΅ΠΌ(Π˜ΡΡ‚ΠΎΡ€ΠΈΡΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ);

πŸ”² ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Ρ‹ Π»ΠΈ всС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π±Π°Π·Ρ‹ Π² сСриализуСмыС структуры?

πŸ”² Π£Ρ‡Ρ‚Π΅Π½Π° Π»ΠΈ максимальная Π³Π»ΡƒΠ±ΠΈΠ½Π° влоТСнности (Π½Π΅ Π±ΠΎΠ»Π΅Π΅ 100 ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ)?

πŸ”² ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ Π»ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π΄Π°Π½Π½Ρ‹Ρ… (ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΎ сТатиС для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… массивов)?

πŸ”² ΠŸΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Ρ‹ Π»ΠΈ ΠΏΡ€Π°Π²Π° доступа ΠΊ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Ρƒ (Ссли ΠΎΠ½ΠΎ привязано ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρƒ)?

-->

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

Π”Π°ΠΆΠ΅ ΠΎΠΏΡ‹Ρ‚Π½Ρ‹Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΡΡ‚Π°Π»ΠΊΠΈΠ²Π°ΡŽΡ‚ΡΡ с ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°ΠΌΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π Π°Π·Π±Π΅Ρ€Ρ‘ΠΌ самыС распространённыС ошибки ΠΈ способы ΠΈΡ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ.

1. Ошибка: "НСдопустимоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°"

ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π°: ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ нСсСриализуСмый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, справочник ΠΈΠ»ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ). РСшСниС:

  • πŸ”§ ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠΉΡ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² структуру ΠΈΠ»ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.
  • πŸ”§ Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Бсылку Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.

2. ΠŸΡ€Π΅Π²Ρ‹ΡˆΠ΅Π½ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8.3 ΠΈΠΌΠ΅Π΅Ρ‚ Π»ΠΈΠΌΠΈΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° β€” ΠΎΠΊΠΎΠ»ΠΎ 2 Π“Π‘ (зависит ΠΎΡ‚ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹). Если Π΄Π°Π½Π½Ρ‹Π΅ большС:

  • πŸ“¦ Π Π°Π·Π±Π΅ΠΉΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° нСсколько Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰.
  • πŸ—œοΈ ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚Π΅ сТатиС (Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ‘ΠΎΠΆΠ°Ρ‚Ρ‚ΠΈΠ΅ΠΌ()).
  • πŸ—ƒοΈ Для ΠΎΡ‡Π΅Π½ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π”Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅Π”Π°Π½Π½Ρ‹Π΅ + внСшнСС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ (Ρ„Π°ΠΉΠ», Π‘Π”).
Π Π°Π·ΠΌΠ΅Ρ€Π‘Π°ΠΉΡ‚ = Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.Π Π°Π·ΠΌΠ΅Ρ€();  // Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π² Π±Π°ΠΉΡ‚Π°Ρ…

-->

3. ΠŸΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ

Если Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π±Ρ‹Π»ΠΎ записано Π² ΠΎΠ΄Π½ΠΎΠΉ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹, Π° читаСтся Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ ошибки совмСстимости. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ:

  • πŸ”„ Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ вСрсии 1Π‘ для записи ΠΈ чтСния.
  • πŸ“‹ Π’Π΅Π΄ΠΈΡ‚Π΅ ΠΆΡƒΡ€Π½Π°Π» вСрсий Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, сохраняйтС Π½ΠΎΠΌΠ΅Ρ€ вСрсии ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ вмСстС с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ).
⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π€ΠΎΡ€ΠΌΠ°Ρ‚ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π² Π½ΠΎΠ²Ρ‹Ρ… вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹. Если Π²Ρ‹ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Π΅Ρ‚Π΅ΡΡŒ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Π±Π°Π·Π°ΠΌΠΈ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… вСрсиях 1Π‘, тСстируйтС ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ Π½Π° тСстовом стСндС.

4. Π—Π°Π±Ρ‹Π»ΠΈ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΠ°ΠΌΡΡ‚ΡŒ

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠ°ΠΊ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ 1Π‘, Π·Π°Π½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠ°ΠΌΡΡ‚ΡŒ. Если Π²Ρ‹ создаётС ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰ Π² Ρ†ΠΈΠΊΠ»Π΅, Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΎΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π°Ρ‚ΡŒ ΠΈΡ…:

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ = Новый Π₯ранилищСЗначСния();

ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ(Π”Π°Π½Π½Ρ‹Π΅);

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

Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π‘ΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ(ОписаниСОшибки());

ΠšΠΎΠ½Π΅Ρ†ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠΈ;

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ = НСопрСдСлСно; // ОсвобоТдаСм ΠΏΠ°ΠΌΡΡ‚ΡŒ

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ: совСты для ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ²

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с большими ΠΎΠ±ΡŠΡ‘ΠΌΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ Π² высоконагруТСнных систСмах Π²Π°ΠΆΠ½ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ использованиС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π’ΠΎΡ‚ нСсколько ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΏΡ€ΠΈΡ‘ΠΌΠΎΠ²:

1. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ сТатиС с ΡƒΠΌΠΎΠΌ

Π‘ΠΆΠ°Ρ‚ΠΈΠ΅ (Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ‘ΠΎΠΆΠ°Ρ‚Ρ‚ΠΈΠ΅ΠΌ()) ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€, Π½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° CPU. ΠžΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ сцСнарии:

  • πŸ“Š АрхивныС Π΄Π°Π½Π½Ρ‹Π΅ (Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Ρ€Π΅Π΄ΠΊΠΎ, ΠΏΠΈΡˆΡƒΡ‚ΡΡ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·).
  • πŸ“€ ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΏΠΎ сСти (ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ).

Для Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ часто Ρ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ/ΠΏΠΈΡˆΡƒΡ‚ΡΡ, Π»ΡƒΡ‡ΡˆΠ΅ ΠΎΠ±ΠΎΠΉΡ‚ΠΈΡΡŒ Π±Π΅Π· сТатия.

2. ΠšΡΡˆΠΈΡ€ΡƒΠΉΡ‚Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°

Если ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ ΠΆΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ читаСтся ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, справочник ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ), ΠΊΡΡˆΠΈΡ€ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ Π² памяти:

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠšΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ()

Если Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠšΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ = НСопрСдСлСно Π’ΠΎΠ³Π΄Π°

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠšΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ = ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Π˜Π·Π‘Π°Π·Ρ‹();

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

Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠšΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΉ;

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

3. РаздСляйтС большиС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°

Если Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°ΡŽΡ‚ 100 ΠœΠ‘, Ρ€Π°Π·Π±Π΅ΠΉΡ‚Π΅ ΠΈΡ… Π½Π° части. НапримСр, вмСсто ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° с историСй Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π·Π° Π³ΠΎΠ΄ создайтС 12 Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰ (ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ Π½Π° мСсяц). Π­Ρ‚ΠΎ ускорит Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ риск поврСТдСния.

4. ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠΉΡ‚Π΅ вСрсии

ΠŸΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ структуры Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ) обновляйтС Π²Π΅Ρ€ΡΠΈΡŽ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°:

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ = Новый Π₯ранилищСЗначСния();

ДанныСДляΠ₯ранСния = Новый Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°();

ДанныСДляΠ₯ранСния.Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ("ВСрсия", "2.1"); // НомСр вСрсии Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°

ДанныСДляΠ₯ранСния.Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ("Π”Π°Π½Π½Ρ‹Π΅", Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ);

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ‘ΠΎΠΆΠ°Ρ‚Ρ‚ΠΈΠ΅ΠΌ(ДанныСДляΠ₯ранСния);

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Если Π²Ρ‹ Ρ…Ρ€Π°Π½ΠΈΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ дольшС Π³ΠΎΠ΄Π°, прСдусмотритС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ структуры. НапримСр, ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ провСряйтС Π²Π΅Ρ€ΡΠΈΡŽ ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠΉΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚.

5. ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π½Π΅ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ. РассмотритС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹:

Π—Π°Π΄Π°Ρ‡Π° Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π°
Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π½Π΅Π±ΠΎΠ»ΡŒΡˆΠΈΡ… настроСк βœ… ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ ΠΈΠ»ΠΈ РСгистры свСдСний
Архив Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… (> 1 Π“Π‘) ❌ НСподходит (Π»ΠΈΠΌΠΈΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°) Π’Π½Π΅ΡˆΠ½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ»ΠΈ спСциализированныС Π‘Π£Π‘Π”
ОбмСн Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Π±Π°Π·Π°ΠΌΠΈ βœ… ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ XML/JSON + Π²Π΅Π±-сСрвисы
Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅ истории ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ βœ… ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для нСбольшой истории РСгистр накоплСния ΠΈΠ»ΠΈ Π–ΡƒΡ€Π½Π°Π» Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²

ОбмСн Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Π±Π°Π·Π°ΠΌΠΈ Ρ‡Π΅Ρ€Π΅Π· Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

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

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ: экспорт Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ„Π°ΠΉΠ»

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π΄Ρ€ΡƒΠ³ΡƒΡŽ Π±Π°Π·Ρƒ, сохранитС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π² Ρ„Π°ΠΉΠ»:

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ = Новый Π₯ранилищСЗначСния();

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ‘ΠΎΠΆΠ°Ρ‚Ρ‚ΠΈΠ΅ΠΌ(ДанныСДляЭкспорта);

// БохраняСм Π² Ρ„Π°ΠΉΠ»

Π”Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅Π”Π°Π½Π½Ρ‹Π΅ = Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ”Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅Π”Π°Π½Π½Ρ‹Π΅();

Π”Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅Π”Π°Π½Π½Ρ‹Π΅.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ("C:\Temp\Экспорт.dat");

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ: ΠΈΠΌΠΏΠΎΡ€Ρ‚ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ„Π°ΠΉΠ»Π°

Π’ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‰Π΅ΠΉ Π±Π°Π·Π΅ Ρ‡ΠΈΡ‚Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ» ΠΈ восстанавливайтС Π΄Π°Π½Π½Ρ‹Π΅:

Π”Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅Π”Π°Π½Π½Ρ‹Π΅ = Новый Π”Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅Π”Π°Π½Π½Ρ‹Π΅("C:\Temp\Экспорт.dat");

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ = Новый Π₯ранилищСЗначСния(Π”Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅Π”Π°Π½Π½Ρ‹Π΅);

Π”Π°Π½Π½Ρ‹Π΅ = Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ();

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΎΠ±ΠΌΠ΅Π½Π°

  • πŸ”„ Π‘ΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ вСрсий: Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π² ΠΎΠ±Π΅ΠΈΡ… Π±Π°Π·Π°Ρ… ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°.
  • πŸ” Π‘Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ: ΠŸΠ΅Ρ€Π΅Π΄Π°Π²Π°ΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎ Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½Ρ‹ΠΌ ΠΊΠ°Π½Π°Π»Π°ΠΌ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‡Π΅Ρ€Π΅Π· SFTP ΠΈΠ»ΠΈ HTTPS).
  • πŸ“ Π›ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅: Π’Π΅Π΄ΠΈΡ‚Π΅ ΠΆΡƒΡ€Π½Π°Π» ΠΎΠ±ΠΌΠ΅Π½ΠΎΠ² с Π΄Π°Ρ‚ΠΎΠΉ, Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΈ статусом (успСх/ошибка).

Для Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±ΠΌΠ΅Π½Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠŸΠ»Π°Π½Ρ‹ ΠΎΠ±ΠΌΠ΅Π½Π° ΠΈΠ»ΠΈ Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ (EnterpriseData), Π½ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ остаётся простым ΠΈ Π³ΠΈΠ±ΠΊΠΈΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ для кастомизированных ΠΈΠ½Ρ‚Π΅Π³Ρ€Π°Ρ†ΠΈΠΉ.

FAQ: ΠžΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° частыС вопросы ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

МоТно Π»ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ?

НСт, Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ нСльзя β€” ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° выбросит ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΎ нСсСриализуСмом ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ это ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅:

  1. Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ Бсылку Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ (Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ‘ΡΡ‹Π»ΠΊΡƒ()).
  2. Или ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠΉΡ‚Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Π² структуру/Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, скопировав Π½ΡƒΠΆΠ½Ρ‹Π΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ прСобразования:

Π”Π°Π½Π½Ρ‹Π΅Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° = Новый Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°();

Π”Π°Π½Π½Ρ‹Π΅Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ("НомСр", Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.НомСр);

Π”Π°Π½Π½Ρ‹Π΅Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ("Π”Π°Ρ‚Π°", Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.Π”Π°Ρ‚Π°);

Π”Π°Π½Π½Ρ‹Π΅Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ("Π‘ΡƒΠΌΠΌΠ°", Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.Π‘ΡƒΠΌΠΌΠ°Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°);

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ(Π”Π°Π½Π½Ρ‹Π΅Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°);

Как ΡƒΠ·Π½Π°Ρ‚ΡŒ, сколько мСста Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…?

Π Π°Π·ΠΌΠ΅Ρ€ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π² Π±Π°Π·Π΅ зависит ΠΎΡ‚ Π΅Π³ΠΎ содСрТимого ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° хранСния. Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ†Π΅Π½ΠΈΡ‚ΡŒ Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌΠΎΠ΅ мСсто:

  1. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π Π°Π·ΠΌΠ΅Ρ€() для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π² памяти:
    Π Π°Π·ΠΌΠ΅Ρ€Π‘Π°ΠΉΡ‚ = Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.Π Π°Π·ΠΌΠ΅Ρ€();
  2. Для ΠΎΡ†Π΅Π½ΠΊΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π² Π±Π°Π·Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ запрос ΠΊ систСмной Ρ‚Π°Π±Π»ΠΈΡ†Π΅ INFORMATION_SCHEMA (для SQL-вСрсии 1Π‘):
    Запрос = Новый Запрос;
    

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

    "ВЫБРАВЬ

    | БУММА(Π ΠΠ—ΠœΠ•Π ΠŸΠžΠ›Π―) КАК Π Π°Π·ΠΌΠ΅Ρ€Π‘Π°ΠΉΡ‚

    |Π˜Π—

    | INFORMATION_SCHEMA.COLUMNS

    |Π“Π”Π•

    | Π’ΠΠ‘Π›Π˜Π¦Π = 'Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.Π’Π°ΡˆΠ”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚'

    | И ΠŸΠžΠ›Π• = 'Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ'";

Π£Ρ‡Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π² Π±Π°Π·Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ ΠΈΠ·-Π·Π° слуТСбных Π΄Π°Π½Π½Ρ‹Ρ… Π‘Π£Π‘Π”.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΎ ΠΈ Π½Π΅ читаСтся?

ΠŸΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ β€” рСдкая, Π½ΠΎ критичная ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. Бпособы восстановлСния:

  1. ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ вСрсии ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ (ΠΈΠ½ΠΎΠ³Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚, Ссли ΠΏΠΎΠ²Ρ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ связано с ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ 1Π‘).
  2. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию Π±Π°Π·Ρ‹ β€” Ссли Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ привязано ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρƒ, восстановитС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈΠ· бэкапа.
  3. ΠΠ°ΠΏΠΈΡˆΠΈΡ‚Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ для частичного чтСния:
    ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ°
    

    Π”Π°Π½Π½Ρ‹Π΅ = Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ();

    Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

    // ΠŸΠΎΠΏΡ€ΠΎΠ±ΡƒΠ΅ΠΌ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ структуру

    Π”Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅Π”Π°Π½Π½Ρ‹Π΅ = Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ”Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅Π”Π°Π½Π½Ρ‹Π΅();

    // Π”Π°Π»Π΅Π΅ β€” Ρ€ΡƒΡ‡Π½ΠΎΠΉ парсинг (Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ знания Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°)

    ΠšΠΎΠ½Π΅Ρ†ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠΈ;

    ⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π ΡƒΡ‡Π½ΠΎΠ΅ восстановлСниС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° β€” слоТная Π·Π°Π΄Π°Ρ‡Π°, Ρ‚Ρ€Π΅Π±ΡƒΡŽΡ‰Π°Ρ знания Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π³ΠΎ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π΄Π°Π½Π½Ρ‹Ρ… 1Π‘. Для ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ Π² ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ 1Π‘.

Как ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ‡Π΅Ρ€Π΅Π· Π²Π΅Π±-сСрвис?

Для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Ρ‡Π΅Ρ€Π΅Π· Π²Π΅Π±-сСрвис (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, HTTPБСрвис ΠΈΠ»ΠΈ WS-сСрвис) ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠΉΡ‚Π΅ Π΅Π³ΠΎ Π² Π”Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅Π”Π°Π½Π½Ρ‹Π΅ ΠΈ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π² Base64:

Π‘Π΅Ρ€Π²Π΅Ρ€ (ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ°):

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ = Новый Π₯ранилищСЗначСния(Π”Π°Π½Π½Ρ‹Π΅);

Π”Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅Π”Π°Π½Π½Ρ‹Π΅ = Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ”Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅Π”Π°Π½Π½Ρ‹Π΅();

Base64Π”Π°Π½Π½Ρ‹Π΅ = Base64Π‘Ρ‚Ρ€ΠΎΠΊΠ°(Π”Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅Π”Π°Π½Π½Ρ‹Π΅);

ΠšΠ»ΠΈΠ΅Π½Ρ‚ (ΠΏΡ€ΠΈΡ‘ΠΌ):

Π”Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅Π”Π°Π½Π½Ρ‹Π΅ = Base64Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅(Base64Π”Π°Π½Π½Ρ‹Π΅);

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ = Новый Π₯ранилищСЗначСния(Π”Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅Π”Π°Π½Π½Ρ‹Π΅);

Π”Π°Π½Π½Ρ‹Π΅ = Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ();

Для Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰ (> 10 ΠœΠ‘) Ρ€Π°Π·Π±Π΅ΠΉΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° части ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΡƒΡŽ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ.

Π•ΡΡ‚ΡŒ Π»ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° количСство Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰ Π² ΠΎΠ΄Π½ΠΎΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅?

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ Π½Π΅ Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ Тёстких ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π½Π° количСство Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰ Π² ΠΎΠ΄Π½ΠΎΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅, Π½ΠΎ Π΅ΡΡ‚ΡŒ практичСскиС Π»ΠΈΠΌΠΈΡ‚Ρ‹:

  • ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ: КаТдоС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈ врСмя Π΅Π³ΠΎ чтСния/записи. ΠŸΡ€ΠΈ сотнях Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰ Π² ΠΎΠ΄Π½ΠΎΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ.
  • ΠŸΠ°ΠΌΡΡ‚ΡŒ: ΠŸΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° всС Π΅Π³ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ. Если суммарный Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒΡΡ Π°Π²Π°Ρ€ΠΈΠΉΠ½ΠΎ.
  • SQL-ограничСния: Π’ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ 1Π‘ Π»ΠΈΠΌΠΈΡ‚Ρ‹ Π²Ρ‹ΡˆΠ΅, Π² ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрном β€” зависят ΠΎΡ‚ настроСк Π‘Π£Π‘Π” (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€ строки Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅).

Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ:

  • Если Π½ΡƒΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΠ΄Π½ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ с Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ структурой (массив Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰).
  • Для Π°Ρ€Ρ…ΠΈΠ²ΠΎΠ² с историСй (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, измСнСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²) создавайтС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹-Π°Ρ€Ρ…ΠΈΠ²Ρ‹ вмСсто накоплСния Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС.