Π’ экосистСмС 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ сущСствуСт мноТСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для хранСния ΠΈ прСдставлСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. Однако для программиста, особСнно Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π΅Π³ΠΎ, часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ понятиями. Когда Π² тСхничСской Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ Π² ΠΊΠΎΠ΄Π΅ Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„Ρ€Π°Π·Π° "Ρ‚Π°Π± Π² 1с", Ρ‡Π°Ρ‰Π΅ всСго Ρ€Π΅Ρ‡ΡŒ ΠΈΠ΄Π΅Ρ‚ ΠΎ Π΄Π²ΡƒΡ… ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π½Ρ‹Ρ… сущностях: ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½ΠΎΠΌ Π’Π°Π±Π»ΠΈΡ†Π° ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ встроСнного языка Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ПониманиС этой Ρ€Π°Π·Π½ΠΈΡ†Ρ‹ критичСски Π²Π°ΠΆΠ½ΠΎ для написания эффСктивного ΠΊΠΎΠ΄Π°.

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

Π’ Π΄Π°Π½Π½ΠΎΠΉ ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΊΠ°ΠΊ ΠΎΠ½Π° устроСна Β«ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌΒ» ΠΈ Ρ‡Π΅ΠΌ отличаСтся ΠΎΡ‚ своСго Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ собрата. ΠœΡ‹ рассмотрим синтаксис создания, ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ манипуляции Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ сцСнарии примСнСния. Π—Π½Π°Π½ΠΈΠ΅ этих нюансов ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΠΌ ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ быстрСС ΠΈ потрСбляСт мСньшС рСсурсов сСрвСра.

Π€ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ отличия Π’Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ Π’Π°Π±Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°

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

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

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

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: НС ΠΏΡ‹Ρ‚Π°ΠΉΡ‚Π΅ΡΡŒ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ большиС ΠΎΠ±ΡŠΠ΅ΠΌΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°Ρ… Ρ„ΠΎΡ€ΠΌΡ‹ Ρ‚ΠΈΠΏΠ° "Π’Π°Π±Π»ΠΈΡ‡Π½ΠΎΠ΅ ΠΏΠΎΠ»Π΅", Ссли ΠΎΠ½ΠΈ Π½Π΅ привязаны ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΡƒΡ‚Π΅Ρ‡ΠΊΠΈ памяти ΠΈ зависаниС клиСнтского прилоТСния ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с тысячами строк.

πŸ’‘

ВсСгда Π²Ρ‹Π±ΠΈΡ€Π°ΠΉΡ‚Π΅ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… исходя ΠΈΠ· Π·Π°Π΄Π°Ρ‡ΠΈ: для расчСтов β€” Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, для красивого ΠΎΡ‚Ρ‡Π΅Ρ‚Π° β€” Π’Π°Π±Π»ΠΈΡ‡Π½Ρ‹ΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ инициализация ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

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

ΠŸΡ€ΠΎΡ†Π΅ΡΡ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ строго Ρ€Π΅Π³Π»Π°ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½. Π‘Π½Π°Ρ‡Π°Π»Π° Π²Ρ‹ создаСтС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π·Π°Ρ‚Π΅ΠΌ описываСтС Π΅Π³ΠΎ структуру Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Колонки. Волько послС опрСдСлСния ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ строки. ΠΠ°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠ΅ этой ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ ошибкС выполнСния.

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

Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("НомСнклатура", ВипОписанияВипов("БправочникБсылка.НомСнклатура"));

Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ", ВипОписанияВипов("Число(15,3)"));

Π’Π°Π±Π»ΠΈΡ†Π°.Колонки.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Π‘ΡƒΠΌΠΌΠ°", ВипОписанияВипов("Число(15,2)"));

ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ² ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ β€” критичСски Π²Π°ΠΆΠ½Ρ‹ΠΉ этап. Если Π²Ρ‹ Π½Π΅ ΡƒΠΊΠ°ΠΆΠ΅Ρ‚Π΅ Ρ‚ΠΈΠΏ явно, систСма попытаСтся ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π΅Π³ΠΎ автоматичСски ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΉ строки. Однако для ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ избСТания ошибок привСдСния Ρ‚ΠΈΠΏΠΎΠ² рСкомСндуСтся всСгда явно Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ВипОписанияВипов. Π­Ρ‚ΠΎ особСнно Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎ для справочников ΠΈ пСрСчислСний.

πŸ“Š Какой способ создания Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²
Π ΡƒΡ‡Π½ΠΎΠ΅ описаниС ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ
Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΈΠ· запроса
ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

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

ΠœΠ°Π½ΠΈΠΏΡƒΠ»ΡΡ†ΠΈΠΈ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ: Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅, поиск ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ структура ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π°, наступаСт этап Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Основной ΠΌΠ΅Ρ‚ΠΎΠ΄ добавлСния записи β€” Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ(). Он Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ссылку Π½Π° newly created строку, свойства ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ сразу ΠΆΠ΅. Π­Ρ‚ΠΎ стандартный ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с коллСкциями Π² 1Π‘.

Для поиска Π΄Π°Π½Π½Ρ‹Ρ… Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ Найти. Он позволяСт быстро locate строку ΠΏΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ.

  • πŸ” Поиск: ΠΌΠ΅Ρ‚ΠΎΠ΄ Найти(Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ИмяКолонки) Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строку ΠΈΠ»ΠΈ НСопрСдСлСно.
  • πŸ—‘οΈ Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅: ΠΌΠ΅Ρ‚ΠΎΠ΄ Π£Π΄Π°Π»ΠΈΡ‚ΡŒ(Π‘Ρ‚Ρ€ΠΎΠΊΠ°) ΠΈΠ»ΠΈ ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ() для ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ сброса.
  • πŸ“‹ ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅: ΠΌΠ΅Ρ‚ΠΎΠ΄ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΠΈ() позволяСт пСрСнСсти структуру.

Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ… β€” ΠΎΠ΄Π½Π° ΠΈΠ· самых ΠΌΠΎΡ‰Π½Ρ‹Ρ… возмоТностСй этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. ΠœΠ΅Ρ‚ΠΎΠ΄ ΠžΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ позволяСт ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ строки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ условиям. Π­Ρ‚ΠΎ Π°Π½Π°Π»ΠΎΠ³ прСдлоТСния Π“Π”Π• Π² языкС SQL, Π½ΠΎ выполняСмый Π² памяти ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΈΠ»ΠΈ сСрвСра Π±Π΅Π· обращСния ΠΊ Π‘Π£Π‘Π”.

ΠžΡ‚Π±ΠΎΡ€ = Π’Π°Π±Π»ΠΈΡ†Π°.Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΠžΡ‚Π±ΠΎΡ€();

ΠžΡ‚Π±ΠΎΡ€.Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹.Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ("Π‘ΡƒΠΌΠΌΠ°", ВидБравнСния.Π‘ΠΎΠ»ΡŒΡˆΠ΅, 1000);

Π’Π°Π±Π»ΠΈΡ†Π°.ΠžΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ(ΠžΡ‚Π±ΠΎΡ€);

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠœΠ΅Ρ‚ΠΎΠ΄ ΠžΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ Π±Π΅Π·Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π½ΠΎ удаляСт строки, Π½Π΅ подходящиС ΠΏΠΎΠ΄ условиС, ΠΈΠ· Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Если исходныС Π΄Π°Π½Π½Ρ‹Π΅ Π½ΡƒΠΆΠ½Ρ‹ ΠΏΠΎΠ·ΠΆΠ΅, ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ создайтС копию Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ().

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Найти

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

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΈ агрСгация Π΄Π°Π½Π½Ρ‹Ρ… Π² памяти

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

АгрСгация Π΄Π°Π½Π½Ρ‹Ρ… β€” процСсс сводных вычислСний. ВмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ†ΠΈΠΊΠ»Ρ‹ для подсчСта сумм ΠΈΠ»ΠΈ срСдних Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π˜Ρ‚ΠΎΠ³ΠΈ. Он позволяСт ΡΠ³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ полям ΠΈ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Π°Π³Ρ€Π΅Π³Π°Ρ‚Π½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ (Π‘ΡƒΠΌΠΌΠ°, ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ, Π‘Ρ€Π΅Π΄Π½Π΅Π΅, ΠœΠΈΠ½ΠΈΠΌΡƒΠΌ, ΠœΠ°ΠΊΡΠΈΠΌΡƒΠΌ) для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹.

ΠœΠ΅Ρ‚ΠΎΠ΄ НазначСниС Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ() УпорядочиваниС строк НСт (измСняСт Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ)
Π˜Ρ‚ΠΎΠ³ΠΈ() Π“Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΈ расчСт сумм Новая Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ
Π‘Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ() ОбъСдинСниС Π΄ΡƒΠ±Π»Π΅ΠΉ строк НСт (измСняСт Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ)

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

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

πŸ’‘

ИспользованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π‘Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ() вмСсто Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° поиска ΠΈ обновлСния строк ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… массивов Π΄Π°Π½Π½Ρ‹Ρ… Π² 5-10 Ρ€Π°Π·.

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…: Запрос vs Π’Π°Π±Π»ΠΈΡ†Π°

Один ΠΈΠ· самых частых вопросов: Π·Π°Ρ‡Π΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Ссли Π΅ΡΡ‚ΡŒ ΠΌΠΎΡ‰Π½Ρ‹ΠΉ язык запросов? ΠžΡ‚Π²Π΅Ρ‚ кроСтся Π² Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ прилоТСния. Запрос выполняСтся Π½Π° сторонС Π‘Π£Π‘Π” (SQL Server, PostgreSQL ΠΈ Ρ‚.Π΄.), Ρ‡Ρ‚ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ сСтСвого ΠΎΠ±ΠΌΠ΅Π½Π° ΠΈ рСсурсов Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Π’Π°Π±Π»ΠΈΡ†Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти процСсса 1Π‘.

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

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

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

Запрос.ВСкст = "ВЫБРАВЬ НомСнклатура, ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ Π˜Π— РСгистрНакоплСния.ΠŸΡ€ΠΎΠ΄Π°ΠΆΠΈ";

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

Π’Π°Π±Π»ΠΈΡ†Π°Π”Π°Π½Π½Ρ‹Ρ… = Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ();

// Π”Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠ°Ρ Ρ€Π°Π±ΠΎΡ‚Π° с Π’Π°Π±Π»ΠΈΡ†Π°Π”Π°Π½Π½Ρ‹Ρ… Π±Π΅Π· обращСния ΠΊ Π‘Π”

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Ρ‚Π°Π±Π»ΠΈΡ† Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ сСрвСром (Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… Π²Ρ‹Π·ΠΎΠ²Π° сСрвСра) Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ сСтСвой Ρ‚Ρ€Π°Ρ„ΠΈΠΊ. Π‘Ρ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Ρ‚ΡΠΆΠ΅Π»ΡƒΡŽ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ Ρ‚Π°Π±Π»ΠΈΡ† Π½Π° Ρ‚ΠΎΠΉ сторонС (ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΈΠ»ΠΈ сСрвСр), Π³Π΄Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΡƒΠΆΠ΅ находятся, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ лишнСй ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ.

β˜‘οΈ ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ

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

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки ΠΈ оптимизация ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ

НСсмотря Π½Π° простоту интСрфСйса, Ρ€Π°Π±ΠΎΡ‚Π° с Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ‚Π°ΠΈΡ‚ Π² сСбС риски ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Бамая распространСнная ошибка β€” Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ строк Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Ρ†ΠΈΠΊΠ»ΠΎΠ² Π±Π΅Π· ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠΈ. Π₯отя ΠΌΠ΅Ρ‚ΠΎΠ΄ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ быстр, ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π½ΡΡ‚ΡŒ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎΠ΅ врСмя.

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ β€” Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Если Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ "Π‘ΡƒΠΌΠΌΠ°" Π²Ρ‹ сначала записали Число, Π° Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ строкС ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π‘Ρ‚Ρ€ΠΎΠΊΡƒ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "Н/Π”"), Π²ΠΎΠ·Π½ΠΈΠΊΠ½Π΅Ρ‚ ошибка ΠΈΠ»ΠΈ нСпрСдсказуСмоС ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ сортировкС. Бтрогая типизация ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΏΡ€ΠΈ создании β€” Π·Π°Π»ΠΎΠ³ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹.

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

Π’ соврСмСнных вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ 8.3 появились Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ возмоТности, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ использованиС Π”Π΅Ρ€Π΅Π²ΠΎΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ для иСрархичСских Π΄Π°Π½Π½Ρ‹Ρ…. Если ваши Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ структуру "Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ-ΠΏΠΎΡ‚ΠΎΠΌΠΎΠΊ", использованиС Π΄Π΅Ρ€Π΅Π²Π° Π±ΡƒΠ΄Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ эффСктивным, Ρ‡Π΅ΠΌ плоской Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ свСртку ΠΈ Ρ€Π°Π·Π²Π΅Ρ€Ρ‚Ρ‹Π²Π°Π½ΠΈΠ΅ Π²Π΅Ρ‚Π²Π΅ΠΉ.

МоТно Π»ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Ρ„Π°ΠΉΠ»?

ΠΠ°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° записи Π² Ρ„Π°ΠΉΠ». Однако Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π΅Π΅ Π² Π’Π°Π±Π»ΠΈΡ‡Π½Ρ‹ΠΉΠ”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈΠ»ΠΈ Π—Π°ΠΏΠΈΡΡŒJSON, ΠΈ ΡƒΠΆΠ΅ этот ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π½Π° диск. Для ΠΎΠ±ΠΌΠ΅Π½Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ JSON ΠΈΠ»ΠΈ MXL.

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π’Π°Π±Π»ΠΈΡ†Π΅ΠΉΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ Π”Π΅Ρ€Π΅Π²ΠΎΠΌΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ?

Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ β€” это плоский список строк. Π”Π΅Ρ€Π΅Π²ΠΎΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΡŽ (Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ строки). Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² Π²ΠΈΠ΄Π΅ Π΄Π΅Ρ€Π΅Π²Π° ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ, Π³Π΄Π΅ Π΅ΡΡ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΡΡ‚ΡŒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π”Π΅Ρ€Π΅Π²ΠΎΠ—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.

Как ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ?

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

Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΠΈ индСксация Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ?

Π”Π°, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° автоматичСски индСксируСт ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ производится поиск ΠΈΠ»ΠΈ сортировка, Π½ΠΎ этот процСсс скрыт ΠΎΡ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°. Π―Π²Π½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ индСксами, ΠΊΠ°ΠΊ Π² SQL, Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ нСльзя.