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

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ запросов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ±Ρ€Π°Ρ‰Π°ΡŽΡ‚ΡΡ ΠΊ Π‘Π£Π‘Π”, Ρ‚Π°Π±Π»ΠΈΡ†Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π² ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрном ΠΈΠ»ΠΈ сСрвСрном контСкстС прилоТСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ рСсурсы процСсса. ПониманиС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ, Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ 1Π‘, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π΄Π²Π΅Ρ€ΠΈ ΠΊ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π° ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ нСстандартных Π·Π°Π΄Π°Ρ‡, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ слоТныС вычислСния ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² Β«Π½Π° Π»Π΅Ρ‚ΡƒΒ».

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

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΈ инициализация структуры Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ шагом Π² любом Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ являСтся объявлСниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π’ встроСнном языкС 1Π‘ это дСлаСтся Ρ‡Π΅Ρ€Π΅Π· конструктор ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ глобального контСкста. Π’Π°ΠΆΠ½ΠΎ сразу ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΡ… Ρ‚ΠΈΠΏ ΠΈ имя Π±ΡƒΠ΄ΡƒΡ‚ Π²Π»ΠΈΡΡ‚ΡŒ Π½Π° всю Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹. БтатичСская типизация ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ошибок привСдСния Ρ‚ΠΈΠΏΠΎΠ² Π½Π° этапС выполнСния.

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

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚ΠΈΠΏ «НСопрСдСлСно» для ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ, Ссли Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π² Π½ΠΈΡ… Π΄Π°Π½Π½Ρ‹Π΅ Ρ€Π°Π·Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, сначала число, ΠΏΠΎΡ‚ΠΎΠΌ строку), Π½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ это Π·Π°ΠΌΠ΅Π΄Π»ΠΈΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.

ПослС опрСдСлСния структуры Ρ‚Π°Π±Π»ΠΈΡ†Π° Π³ΠΎΡ‚ΠΎΠ²Π° ΠΊ наполнСнию. ΠŸΡƒΡΡ‚Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ рСсурсов, Π½ΠΎ ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ строки, ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ памяти растСт Π»ΠΈΠ½Π΅ΠΉΠ½ΠΎ. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ всСгда ΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π΄Π΅ΠΉΡΡ‚Π²ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ для Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Если Π²Ρ‹ создаСтС Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π² Ρ†ΠΈΠΊΠ»Π΅ с большим количСством ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ, Π½Π΅ ΠΎΠ±ΡŠΡΠ²Π»ΡΠΉΡ‚Π΅ Π½ΠΎΠ²ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π°. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ созданию тысяч ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ ΠΌΠ³Π½ΠΎΠ²Π΅Π½Π½ΠΎΠΌΡƒ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ памяти.

НаполнСниС Π΄Π°Π½Π½Ρ‹ΠΌΠΈ ΠΈ Ρ€Π°Π±ΠΎΡ‚Π° со строками

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

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

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

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ со строками Π²Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ ΠΎ сущСствовании ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° строки Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. Π₯отя программист Ρ€Π΅Π΄ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, систСма опираСтся Π½Π° Π½Π΅Π³ΠΎ ΠΏΡ€ΠΈ сортировкС ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ строку, Π»ΡƒΡ‡ΡˆΠ΅ Π΄Π΅Π»Π°Ρ‚ΡŒ это Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ строки, Π° Π½Π΅ ΠΏΠΎ индСксу, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΡΠ±ΠΈΡ‚ΡŒ Π½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π² Ρ†ΠΈΠΊΠ»Π΅.

β˜‘οΈ ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° наполнСния Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹

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

Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ ΠΈ поиск Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… записСй

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

Если трСбуСтся Π±ΠΎΠ»Π΅Π΅ слоТная Π»ΠΎΠ³ΠΈΠΊΠ°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, поиск ΠΏΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ частичному совпадСнию строки, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°ΠžΡ‚Π±ΠΎΡ€Π°. Он позволяСт Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ условия сравнСния: большС, мСньшС, содСрТит, начинаСтся с. Π­Ρ‚ΠΎ Π΄Π°Π΅Ρ‚ Π³ΠΈΠ±ΠΊΠΎΡΡ‚ΡŒ, ΡΠΎΠΏΠΎΡΡ‚Π°Π²ΠΈΠΌΡƒΡŽ с ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π“Π”Π• Π² языкС SQL, Π½ΠΎ выполняСтся Π² памяти прилоТСния.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°ΠžΡ‚Π±ΠΎΡ€Π° = Новый Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°("НомСнклатура, ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ");

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°ΠžΡ‚Π±ΠΎΡ€Π°.НомСнклатура = Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉΠ’ΠΎΠ²Π°Ρ€;

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°ΠžΡ‚Π±ΠΎΡ€Π°.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ = 10;

НайдСнныСБтроки = Π’Π°Π±Π»ΠΈΡ†Π°Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.НайтиБтроки(Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°ΠžΡ‚Π±ΠΎΡ€Π°);

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

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

πŸ“Š Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ поиска Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅ всСго?
НайтиБтроки с структурой
Π¦ΠΈΠΊΠ» ΠΏΠΎ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ с Если
ИспользованиС запроса ΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Π΅
ИндСкс с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ поиском

Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ порядком

ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ слСдования строк Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π½Π΅ гарантируСтся ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ, Ссли Π²Ρ‹ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ упорядочивания. Для привСдСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΊ Π½ΡƒΠΆΠ½ΠΎΠΌΡƒ Π²ΠΈΠ΄Ρƒ примСняСтся ΠΌΠ΅Ρ‚ΠΎΠ΄ Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ нСсколько ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ сортировки: сначала ΠΏΠΎ Π΄Π°Ρ‚Π΅, Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎ Π½ΠΎΠΌΠ΅Ρ€Ρƒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

НаправлСниС сортировки задаСтся пСрСчислСниСм НаправлСниСБортировки. Доступны Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ «По Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽΒ» ΠΈ «По ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽΒ». ΠŸΡ€ΠΈ сортировкС строк (Ρ‚ΠΈΠΏΠ° Π‘Ρ‚Ρ€ΠΎΠΊΠ°) Π²Π°ΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ€Π΅Π³ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ настройки систСмы, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ Π²Π»ΠΈΡΡŽΡ‚ Π½Π° порядок символов. ЧисловыС значСния ΡΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ΡΡ матСматичСски ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ.

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ сортировки ОписаниС ВлияниС Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ
Одна ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° Быстрая сортировка ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΡƒ МинимальноС
НСсколько ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ БлоТная иСрархичСская сортировка Π‘Ρ€Π΅Π΄Π½Π΅Π΅
Π‘ ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ рСгистра Π’ΠΎΡ‡Π½ΠΎΠ΅ сравнСниС символов (А!= Π°) ВысокоС (Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ большС рСсурсов)
Π‘Π΅Π· индСкса Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ°"Π½Π° Π»Π΅Ρ‚Ρƒ" ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· Зависит ΠΎΡ‚ количСства строк

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

Π‘Π΅ΠΊΡ€Π΅Ρ‚ быстрой сортировки

Если Π²Ρ‹ сортируСтС Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½ΠΎ Π² Ρ†ΠΈΠΊΠ»Π΅, вынСситС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ сортировки Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ Ρ†ΠΈΠΊΠ»Π°. Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ… 100 Ρ€Π°Π· ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅, Ρ‡Π΅ΠΌ 1 Ρ€Π°Π· послС всСх ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

АгрСгация Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ вычислСниС ΠΈΡ‚ΠΎΠ³ΠΎΠ²

Часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ сводныС ΠΏΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ: сумму, срСднСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, количСство записСй. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ прСдоставляСт ΠΌΠ΅Ρ‚ΠΎΠ΄ Π˜Ρ‚ΠΎΠ³, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Π°Π³Ρ€Π΅Π³Π°Ρ‚Π½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅. Π­Ρ‚ΠΎ Π°Π½Π°Π»ΠΎΠ³ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ SUM ΠΈΠ»ΠΈ COUNT Π² Π±Π°Π·Π°Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Π½ΠΎ выполняСмый Π² памяти.

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

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

πŸ’‘

ΠœΠ΅Ρ‚ΠΎΠ΄ Β«Π‘Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒΒ» создаСт Π½ΠΎΠ²ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ. Π˜ΡΡ…ΠΎΠ΄Π½Π°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π° остаСтся Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΠΉ. Π­Ρ‚ΠΎ Π²Π°ΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ использования памяти Π² систСмС.

ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ экспорт Π΄Π°Π½Π½Ρ‹Ρ…

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

Для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΈΠ»ΠΈ Π² ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ V8TabularDocument. Π­Ρ‚ΠΎ позволяСт ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ всС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ структуру. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π² Массив ΠΈΠ»ΠΈ Бписок Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Ссли трСбуСтся ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ ΠΈΠ»ΠΈ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ структуру для дальнСйшСй ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ.

  • πŸ“„ Экспорт Π² Π’Π°Π±Π»ΠΈΡ‡Π½Ρ‹ΠΉ Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈΠ΄Π΅Π°Π»Π΅Π½ для формирования ΠΏΠ΅Ρ‡Π°Ρ‚Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ.
  • 🌳 ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² Π”Π΅Ρ€Π΅Π²ΠΎ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ для ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² с Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ ΠΈ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠ΅ΠΉ.
  • πŸ“¦ Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠ° Π² Массив ΠΏΠΎΠ»Π΅Π·Π½Π° для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ простых списков Π² ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ.

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ всС ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΈΠΌΠ΅ΡŽΡ‚ совмСстимыС Ρ‚ΠΈΠΏΡ‹. НапримСр, ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° с Ρ‚ΠΈΠΏΠΎΠΌ Β«Π₯ранилищСЗначСния» Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π²Ρ‹Π²Π΅Π΄Π΅Π½Π° Π² ячСйку Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π±Π΅Π· Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ.

ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ΠΈ частыС ошибки Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²

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

Π•Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ Π²Π°ΠΆΠ½Ρ‹ΠΉ аспСкт β€” использованиС индСксов. МногиС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Π·Π°Π±Ρ‹Π²Π°ΡŽΡ‚ ΠΎ Π½ΠΈΡ…, полагаясь Π½Π° Π»ΠΈΠ½Π΅ΠΉΠ½Ρ‹ΠΉ поиск. Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ… с количСством строк Π±ΠΎΠ»Π΅Π΅ 1000 Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ индСкса ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ полям поиска ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΡΠΊΠΎΡ€ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ Π² дСсятки Ρ€Π°Π·. ИндСкс создаСтся ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΠΈ автоматичСски обновляСтся ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

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

πŸ’‘

ΠŸΠ΅Ρ€Π΅Π΄ слоТными вычислСниями сдСлайтС копию Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Β«Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠšΠΎΠ»ΠΎΠ½ΠΊΠΈΒ», Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ исходныС Π΄Π°Π½Π½Ρ‹Π΅ для сравнСния ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΠ°Ρ‚Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

МоТно Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ послС создания Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ?

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

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π’Π°Π±Π»ΠΈΡ†Π΅ΠΉ Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ Π’Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Π’Π°Π±Π»ΠΈΡ†Π΅ΠΉ Π² запросС?

Π’Π°Π±Π»ΠΈΡ†Π° Π—Π½Π°Ρ‡Π΅Π½ΠΈΠΉ β€” это ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ встроСнного языка, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ Π² памяти процСсса. ВрСмСнная Ρ‚Π°Π±Π»ΠΈΡ†Π° Π² запросС создаСтся Π² Π‘Π£Π‘Π” (ΠΈΠ»ΠΈ Π² памяти сСрвСра 1Π‘ Π² зависимости ΠΎΡ‚ настройки) ΠΈ доступна Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² контСкстС выполнСния запроса. Π’Π°Π±Π»ΠΈΡ†Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π³ΠΈΠ±Ρ‡Π΅ для ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ, Π° врСмСнная Ρ‚Π°Π±Π»ΠΈΡ†Π° Π»ΡƒΡ‡ΡˆΠ΅ для слоТных SQL-ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ.

Как ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ строку ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠΎ индСксу?

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

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π»ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ условноС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅?

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