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

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

АрхитСктура ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ Ρ‚ΠΈΠΏΡ‹ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΊ написанию ΠΊΠΎΠ΄Π°, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ‡Π΅Ρ‚ΠΊΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ структурой Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ БписокЗначСний. Π’Π°Π±Π»ΠΈΡ†Π° прСдставляСт собой Π΄Π²ΡƒΠΌΠ΅Ρ€Π½Ρ‹ΠΉ массив, Π³Π΄Π΅ каТдая строка ΠΈΠΌΠ΅Π΅Ρ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ структуру ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΈ Ρ‚ΠΈΠΏΠ°ΠΌΠΈ. Бписок ΠΆΠ΅ β€” это одномСрная коллСкция элСмСнтов, ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ…Ρ€Π°Π½ΠΈΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ, ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎ, прСдставлСниС ΠΈΠ»ΠΈ ΠΏΠΎΠΌΠ΅Ρ‚ΠΊΡƒ удалСния.

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

БущСствуСт нСсколько сцСнариСв использования Ρ‚Π°ΠΊΠΎΠ³ΠΎ прСобразования. Π§Π°Ρ‰Π΅ всСго это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для формирования ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΎΡ‚Ρ‡Π΅Ρ‚Π°, создания динамичСских списков Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… для запроса. Иногда трСбуСтся просто ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ· ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΠ² Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚Ρ‹, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ эффСктивно Ρ€Π΅ΡˆΠ°Π΅Ρ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΉ список.

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

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅() Ρƒ Бписка Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ сразу послС заполнСния, Ссли ваша Ρ†Π΅Π»ΡŒ β€” ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список Π±Π΅Π· Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ΠΎΠ². Π­Ρ‚ΠΎ сэкономит рСсурсы процСссора ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Ρ€ΡƒΡ‡Π½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ сущСствования элСмСнта ΠΏΠ΅Ρ€Π΅Π΄ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ.

Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° строк Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

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

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

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

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

// ... Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ...

Π‘ΠΏΠΈΡΠΎΠΊΠ Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ = Новый БписокЗначСний;

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

Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ = Π‘Ρ‚Ρ€ΠΎΠΊΠ°Π’Π°Π±Π»ΠΈΡ†Ρ‹.НомСнклатура;

Π‘ΠΏΠΈΡΠΎΠΊΠ Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅);

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

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

β˜‘οΈ ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ качСства ΠΊΠΎΠ΄Π°

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

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

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

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

ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ (условно) Π“ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ настройки Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΠΎΠ΅ использованиС
Π¦ΠΈΠΊΠ» "Для КаТдого" БрСдняя Высокая Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ случай, Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ
ΠœΠ΅Ρ‚ΠΎΠ΄ Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Высокая Низкая ΠŸΡ€ΡΠΌΠΎΠ΅ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π±Π΅Π· условий
Запрос ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠžΡ‡Π΅Π½ΡŒ высокая БрСдняя АгрСгация, Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ°, сортировка
Π‘Ρ€Π΅Π· послСдних/ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Высокая Низкая Π Π°Π±ΠΎΡ‚Π° с рСгистрами ΠΈ пСриодичСскими Π΄Π°Π½Π½Ρ‹ΠΌΠΈ

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

Π‘Π΅ΠΊΡ€Π΅Ρ‚ быстрой Ρ€Π°Π±ΠΎΡ‚Ρ‹ с большими Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ

Если Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ запроса, ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ сразу Π² Π½ΡƒΠΆΠ½Ρ‹ΠΉ список, минуя созданиС ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΠΎΠΉ Π’Π°Π±Π»ΠΈΡ†Ρ‹ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ сократит ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти Π²Π΄Π²ΠΎΠ΅.

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ‚ΠΈΠΏΠΎΠ² Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

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

Если Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ значСния Null (НСопрСдСлСно), ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Π² список. Однако ΠΏΡ€ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Ρ‚Π°ΠΊΠΎΠ³ΠΎ списка Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π½Π° Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок выполнСния. Π­Ρ‚ΠΎ частая ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π° сбоСв Π² ΠΎΡ‚Ρ‡Π΅Ρ‚Π°Ρ… ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ….

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

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

πŸ“Š Какой объСм Π΄Π°Π½Π½Ρ‹Ρ… Π²Ρ‹ Ρ‡Π°Ρ‰Π΅ всСго ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚Π΅?
Π”ΠΎ 1000 строк
ΠžΡ‚ 1000 Π΄ΠΎ 10000
Π‘ΠΎΠ»Π΅Π΅ 100000 строк
Π Π°Π±ΠΎΡ‚Π°ΡŽ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ

ИспользованиС запросов для Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ

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

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²ΠΎ запроса Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² возмоТности ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ слово Π ΠΠ—Π›Π˜Π§ΠΠ«Π• (DISTINCT), Ρ‡Ρ‚ΠΎΠ±Ρ‹ сразу ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π±Π΅Π· написания Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° для удалСния Π΄ΡƒΠ±Π»Π΅ΠΉ. Π­Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΈ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ.

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

Запрос.ВСкст = "ВЫБРАВЬ Π ΠΠ—Π›Π˜Π§ΠΠ«Π• Π’Π°Π±Π»ΠΈΡ†Π°.НомСнклатура КАК НомСнклатура Π˜Π— Π’Π°Π±Π»ΠΈΡ†Π° КАК Π’Π°Π±Π»ΠΈΡ†Π°";

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

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

Π’Ρ‹Π±ΠΎΡ€ΠΊΠ° = Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ();

БписокЗначСний = Новый БписокЗначСний;

Пока Π’Ρ‹Π±ΠΎΡ€ΠΊΠ°.Π‘Π»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ() Π¦ΠΈΠΊΠ»

БписокЗначСний.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(Π’Ρ‹Π±ΠΎΡ€ΠΊΠ°.НомСнклатура);

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

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

πŸ’‘

ИспользованиС запроса с ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΎΠΌ Π ΠΠ—Π›Π˜Π§ΠΠ«Π• позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ список Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² ΠΎΠ΄ΠΈΠ½ ΠΏΡ€ΠΎΡ…ΠΎΠ΄, ΠΈΡΠΊΠ»ΡŽΡ‡Π°Ρ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄ΡƒΠ±Π»ΠΈΠΊΠ°Ρ‚ΠΎΠ² Π² ΠΊΠΎΠ΄Π΅.

ЧастыС ошибки ΠΈ способы ΠΈΡ… устранСния

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

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° распространСнная ошибка β€” ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΈ Π΅Π΅ порядковым Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ. Π’ ΠΊΠΎΠ΄Π΅ 1Π‘ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ осущСствляСтся строго ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ. ИспользованиС индСксов (ΠΊΠ°ΠΊ Π² массивах) для доступа ΠΊ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ нСдопустимо ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ компиляции ΠΈΠ»ΠΈ выполнСния.

  • πŸ”΄ Ошибка доступа ΠΊ Π½Π΅ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅: Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ провСряйтС ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠΈ Π² ΠΈΠΌΠ΅Π½Π°Ρ… ΠΏΠΎΠ»Π΅ΠΉ, рСгистр символов ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.
  • πŸ”΄ ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ структуру вмСсто значСния: ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Π΅Ρ‚Π΅ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅, Π° Π½Π΅ всю строку Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.
  • πŸ”΄ Π£Ρ‚Π΅Ρ‡ΠΊΠ° памяти ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΌΠΈ массивами: Π½Π΅ Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΎΡ‡ΠΈΡ‰Π°Ρ‚ΡŒ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Ссли ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π² Π΄ΠΎΠ»Π³ΠΎΠΆΠΈΠ²ΡƒΡ‰ΠΈΡ… сСансах.

Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚ΠΎΡ‡ΠΊΡƒ останова ΠΈ просмотр Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…. Окно "ΠžΡ‚Π»Π°Π΄ΠΊΠ°" Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ позволяСт ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ содСрТимоС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ списка Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ быстро Π²Ρ‹ΡΠ²ΠΈΡ‚ΡŒ расхоТдСния Π² Π΄Π°Π½Π½Ρ‹Ρ….

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² Ρ‚ΠΎΠ½ΠΊΠΎΠΌ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ большиС ΠΎΠ±ΡŠΠ΅ΠΌΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвСром ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ, ΠΌΠΎΠ³ΡƒΡ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ интСрфСйса. Π‘Ρ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ тяТСлыС Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° сторонС сСрвСра Π² ΠΎΠ±Ρ‰ΠΈΡ… модулях.

FAQ: Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы

МоТно Π»ΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ сразу нСсколько ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² ΠΎΠ΄ΠΈΠ½ список?

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

Как ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ порядок строк ΠΏΡ€ΠΈ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ΅?

ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ строк Π² БпискС Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ порядку ΠΎΠ±Ρ…ΠΎΠ΄Π° Π² Ρ†ΠΈΠΊΠ»Π΅. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ†ΠΈΠΊΠ» Для КаТдого ΠΏΠΎ строкам Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, порядок сохранится. ΠŸΡ€ΠΈ использовании запроса Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ ΡΠ΅ΠΊΡ†ΠΈΡŽ Π£ΠŸΠžΠ Π―Π”ΠžΠ§Π˜Π’Π¬ ПО, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΡƒΠΆΠ½ΡƒΡŽ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ.

Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ссли ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° содСрТит Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ значСния (Null)?

ЗначСния НСопрСдСлСно ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² список. Однако ΠΏΡ€ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ использовании списка (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² условии ΠΎΡ‚Π±ΠΎΡ€Π°) Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ явно ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ элСмСнты Π½Π° Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΡΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ НЕ Π—ΠΠΠ§Π•ΠΠ˜Π• Π—ΠΠŸΠžΠ›ΠΠ•ΠΠž ΠΈΠ»ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π—ΠΠΠ§Π•ΠΠ˜Π• Π—ΠΠŸΠžΠ›ΠΠ•ΠΠž.

Π•ΡΡ‚ΡŒ Π»ΠΈ Ρ€Π°Π·Π½ΠΈΡ†Π° Π² скорости ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ†ΠΈΠΊΠ»ΠΎΠΌ ΠΈ запросом для 100 строк?

Для ΠΌΠ°Π»Ρ‹Ρ… объСмов Π΄Π°Π½Π½Ρ‹Ρ… (Π΄ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… тысяч строк) Ρ€Π°Π·Π½ΠΈΡ†Π° Π²ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния Π½ΠΈΡ‡Ρ‚ΠΎΠΆΠ½Π° ΠΈ Π½Π΅ влияСт Π½Π° восприятиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Π’Ρ‹Π±ΠΎΡ€ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ Π΄ΠΈΠΊΡ‚ΠΎΠ²Π°Ρ‚ΡŒΡΡ удобством чтСния ΠΊΠΎΠ΄Π° ΠΈ Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ, Π° Π½Π΅ ΠΌΠΈΠΊΡ€ΠΎ-ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ.