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

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

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

ΠžΡΠ½ΠΎΠ²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ частями ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

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

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

Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΡ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ совмСстимы. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ выполняСт автоматичСскоС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв, Π½ΠΎ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ со слоТными ссылками ΠΈΠ»ΠΈ составными Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ°. ΠΠ΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ типизация ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС выполнСния Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ записи значСния.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Если Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²ΠΎ внСшниС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‘ Π² Π‘ΠšΠ” (БистСмС Компоновки Π”Π°Π½Π½Ρ‹Ρ…), ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π½Π΅ содСрТат ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² ΠΈ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… символов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π½Π°Ρ€ΡƒΡˆΠΈΡ‚ΡŒ синтаксис запросов ΠΈΠ»ΠΈ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ.

πŸ“Š Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅ всСго?
ΠœΠ΅Ρ‚ΠΎΠ΄ Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΠΈ
Π¦ΠΈΠΊΠ» ΠΏΠΎ строкам
Запрос ΠΊ рСгистру
ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…

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

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

Π’Π°Π±Π»ΠΈΡ†Π°Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Новый Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ();

Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π’ΠΎΠ²Π°Ρ€Ρ‹.Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΠΈ(Π’Π°Π±Π»ΠΈΡ†Π°Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚);

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

πŸ’‘

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

Выборочная Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ

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

Алгоритм дСйствий Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ созданиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ с Π·Π°Ρ€Π°Π½Π΅Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ. ИмСна ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² Π½ΠΎΠ²ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ строго ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ с ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Π² исходной Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части, ΠΈΠ½Π°Ρ‡Π΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ записи Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ ошибка "Колонка Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°". Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ этом ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ явно β€” ΠΎΠ½ΠΈ опрСдСлятся ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΉ записи.

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

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ Ρ€ΡƒΡ‡Π½ΠΎΠΉ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ΅ Π² Ρ†ΠΈΠΊΠ»Π΅ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ() Ρƒ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅Π΄ присваиваниСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ строку Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ выполнСния.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ структур

ΠŸΡ€ΠΈ пСрСносС Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²Π°ΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΡ€ΠΎΠ΄Ρƒ Ρ…Ρ€Π°Π½ΠΈΠΌΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Поля ΠΌΠΎΠ³ΡƒΡ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ простыС Ρ‚ΠΈΠΏΡ‹ (Число, Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Π”Π°Ρ‚Π°) ΠΈΠ»ΠΈ слоТныС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ (Бсылки Π½Π° справочники, ΠŸΠ»Π°Π½Ρ‹ Π²ΠΈΠ΄ΠΎΠ² характСристик). ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ссылки, Π½ΠΎ ΠΏΡ€ΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ΅ Π² ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, JSON ΠΈΠ»ΠΈ XML) ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ дСйствия.

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

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

Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ РСкомСндация
Число Π’Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ соотвСтствия точности Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠžΠΊΡ€() ΠΏΡ€ΠΈ нСобходимости
Бсылка ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ссылки ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π½Π° ΠΏΡƒΡΡ‚ΡƒΡŽ ссылку ΠΏΠ΅Ρ€Π΅Π΄ записью
Π‘Ρ‚Ρ€ΠΎΠΊΠ° ΠœΠΎΠΆΠ΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ пСрСносы строк Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π‘Ρ‚Ρ€Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ() для очистки
Π‘ΡƒΠ»Π΅Π²ΠΎ ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠŸΡ€ΡΠΌΠΎΠ΅ присваиваниС бСзопасно
Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ с пустыми значСниями?

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

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΌΠ°Ρ…

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

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

Π’Π°ΠΊΠΆΠ΅ стоит ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ Π»ΠΈΡˆΠ½ΠΈΡ… Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π°. Если Π²Ρ‹ вычисляСтС ΠΊΠ°ΠΊΠΎΠ΅-Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° основС ΠΏΠΎΠ»Π΅ΠΉ строки, вынСситС слоТныС вычислСния Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ Ρ†ΠΈΠΊΠ»Π° ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅. ΠœΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ количСства ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ свойствам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ сущСствСнно ускоряСт Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π°.

πŸ’‘

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

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ способы ΠΈΡ… устранСния

Π’ процСссС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ программисты часто Π΄ΠΎΠΏΡƒΡΠΊΠ°ΡŽΡ‚ ряд стандартных ошибок ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ структурами. Одна ΠΈΠ· самых распространСнных β€” ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, которая ΡƒΠΆΠ΅ Π±Ρ‹Π»Π° создана ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ фиксируСтся послС добавлСния ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки ΠΈΠ»ΠΈ явного создания ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ, ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Ρ‘ "Π½Π° Π»Π΅Ρ‚Ρƒ" нСльзя.

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

  • ❌ Ошибка: Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ послС заполнСния ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки.
  • ❌ Ошибка: ИспользованиС синонимов вмСсто ΠΈΠΌΠ΅Π½ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².
  • ❌ Ошибка: ΠŸΡ€ΠΈΡΠ²Π°ΠΈΠ²Π°Π½ΠΈΠ΅ значСния нСсовмСстимого Ρ‚ΠΈΠΏΠ° Π² ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ.
  • ❌ Ошибка: ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π½Π΅Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.

Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Ρ‚Π°ΠΊΠΈΡ… ситуаций ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ структуру ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² консоль ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π»Π°Π΄Ρ‡ΠΈΠΊ для просмотра содСрТимого ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ возникновСния ошибки. Анализ сообщСния ΠΎΠ± ошибкС ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ прямо ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° имя ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΈΠ»ΠΈ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ….

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΈ возмоТности ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒΡΡ. Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с Π½ΠΎΠ²Ρ‹ΠΌΠΈ вСрсиями ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π£Π’ 11, ERP 2.5), провСряйтС Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈΠΌΠ΅Π½ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Π² Π΄Π΅Ρ€Π΅Π²Π΅ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ ΠΌΠΎΠ³ΡƒΡ‚ ΠΌΠ΅Π½ΡΡ‚ΡŒ структуру Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Ρ… частСй Π² Π½ΠΎΠ²Ρ‹Ρ… Ρ€Π΅Π»ΠΈΠ·Π°Ρ….

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ

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

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ

Рассмотрим Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ сцСнарий: Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ΅Ρ‡Π°Ρ‚Π½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ‚ΠΎΠ²Π°Ρ€Ρ‹ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΏΠΎ Π²ΠΈΠ΄Π°ΠΌ Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹. Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ находятся Π² Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°. ΠœΡ‹ Π²Ρ‹Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ ΠΈΡ… Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ, Π½Π΅ модифицируя сам Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.

Π’ Π΄Ρ€ΡƒΠ³ΠΎΠΌ случаС Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ с внСшними систСмами Ρ‡Π΅Ρ€Π΅Π· HTTP-сСрвисы. Π’Π°Π±Π»ΠΈΡ†Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π»Π΅Π³ΠΊΠΎ конвСртируСтся Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ JSON ΠΈΠ»ΠΈ XML, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ Π΅Ρ‘ ΠΈΠ΄Π΅Π°Π»ΡŒΠ½Ρ‹ΠΌ Π±ΡƒΡ„Π΅Ρ€ΠΎΠΌ для ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π° Π΄Π°Π½Π½Ρ‹Ρ…. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ, оставив Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ для ΠΊΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Π°.

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

Как Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π±Π΅Π· Ρ†ΠΈΠΊΠ»Π°?

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

МоТно Π»ΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π² массив?

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

Π§Ρ‚ΠΎ происходит с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ ΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΏΡ€ΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ΅?

Если Π² Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части Π΅ΡΡ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Ρ‚ΠΈΠΏΠ° "Π₯Ρ€Π°Π½Π΅Π½ΠΈΠ΅Π”Π°Π½Π½Ρ‹Ρ…" (ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ, Ρ„Π°ΠΉΠ»Ρ‹), ΠΎΠ½ΠΈ Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹ Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Однако Ρ€Π°Π±ΠΎΡ‚Π° с Ρ‚Π°ΠΊΠΈΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ ΠΈΠ·-Π·Π° большого объСма памяти. РСкомСндуСтся Π²Ρ‹Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ссылки Π½Π° Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ»ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹, Π° сами Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΏΠΎ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΡŽ.

Как ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ послС Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ?

Для очистки ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ(). Он удаляСт всС строки ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Π½ΠΎ сохраняСт структуру ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ. Если Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈ структуру Ρ‚ΠΎΠΆΠ΅, просто присвойтС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Новый Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ(). Π­Ρ‚ΠΎ освободит Π·Π°Π½ΡΡ‚ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ быстрСС, Ρ‡Π΅ΠΌ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ строк.

ВлияСт Π»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ?

НСт, Π½Π΅ влияСт. Вабличная Ρ‡Π°ΡΡ‚ΡŒ доступна для чтСния ΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² любом состоянии Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°: Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹, Π² ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π΄ΠΎ записи, послС провСдСния ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ Π² ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Ρ… Π½Π° ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ… (Ссли Π΅ΡΡ‚ΡŒ ΠΏΡ€Π°Π²Π° доступа). Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти.