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

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

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

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠ Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌ

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

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

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠ Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌ чувствитСлСн ΠΊ рСгистру символов Π² строковых значСниях, Ссли Π² свойствах Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Π½Π΅ установлСн Ρ„Π»Π°Π³ "Π Π°Π·Ρ€Π΅ΡˆΠΈΡ‚ΡŒ Π²Π²ΠΎΠ΄ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΉ строки" ΠΈΠ»ΠΈ Ссли сравнСниС происходит Π² контСкстС спСцифичСских настроСк Π»ΠΎΠΊΠ°Π»ΠΈ. ВсСгда ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚Π΅ строки ΠΊ Π΅Π΄ΠΈΠ½ΠΎΠΌΡƒ Π²ΠΈΠ΄Ρƒ ΠΏΠ΅Ρ€Π΅Π΄ поиском.

πŸ’‘

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

ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° структуры Π΄Π°Π½Π½Ρ‹Ρ… для поиска

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

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ создания Ρ‚Π°ΠΊΠΎΠΉ структуры Π½Π° встроСнном языкС. Допустим, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ элСмСнт справочника НомСнклатура ΠΏΠΎ Π΄Π²ΡƒΠΌ полям: Артикул ΠΈ ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ. Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ создаСм Π½ΠΎΠ²ΡƒΡŽ структуру, Π·Π°Ρ‚Π΅ΠΌ добавляСм Π² Π½Π΅Π΅ ΠΏΠ°Ρ€Ρ‹ "ΠšΠ»ΡŽΡ‡-Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅". ЗначСния Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ ΠΊ Ρ‚ΠΎΠΌΡƒ Ρ‚ΠΈΠΏΡƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ справочник.

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°ΠŸΠΎΠΈΡΠΊΠ° = Новый Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°;

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°ΠŸΠΎΠΈΡΠΊΠ°.Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ("Артикул", "ART-12345");

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°ΠŸΠΎΠΈΡΠΊΠ°.Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ("ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ", Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠΈ.ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚Ρ‹.ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠΠ°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡŽ("ООО Ромашка"));

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

  • πŸ” ИмСна ΠΊΠ»ΡŽΡ‡Π΅ΠΉ структуры Π΄ΠΎΠ»ΠΆΠ½Ρ‹ строго ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ синонимам ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π½Π°ΠΌ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Π² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ….
  • πŸ“¦ Π’ΠΈΠΏΡ‹ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² структурС Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡΠΎΠ²ΠΏΠ°Π΄Π°Ρ‚ΡŒ с Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² справочника (Число, Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Бсылка).
  • ⚑ ИспользованиС ссылок вмСсто строк для связанных ΠΏΠΎΠ»Π΅ΠΉ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ поиска.

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

πŸ“Š Какой способ формирования структуры Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
ΠœΠ΅Ρ‚ΠΎΠ΄ Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ()
ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ структур
Π§Π΅Ρ€Π΅Π· ΠšΠ»ΡŽΡ‡Π˜Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅
ДинамичСски ΠΈΠ· JSON

Алгоритм поиска ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ²

ПослС Ρ‚ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ структура сформирована, вызываСтся сам ΠΌΠ΅Ρ‚ΠΎΠ΄ поиска Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° справочника. Бинтаксис ΠΏΡ€Π΅Π΄Π΅Π»ΡŒΠ½ΠΎ прост: Π²Ρ‹ ΠΎΠ±Ρ€Π°Ρ‰Π°Π΅Ρ‚Π΅ΡΡŒ ΠΊ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ссылкС (хотя Ρ‡Π°Ρ‰Π΅ ΠΊ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρƒ) ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚Π΅ структуру. БистСма выполняСт поиск ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ сразу ΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅.

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

НайдСнныйЭлСмСнт = Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠΈ.НомСнклатура.ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠ Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌ(Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°ΠŸΠΎΠΈΡΠΊΠ°);

Если НайдСнныйЭлСмСнт = НСопрСдСлСно Π’ΠΎΠ³Π΄Π°

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ = "Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½!";

Π˜Π½Π°Ρ‡Π΅

Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ = "Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Π½Π°ΠΉΠ΄Π΅Π½: " + НайдСнныйЭлСмСнт.НаимСнованиС;

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

Π’Π°ΠΆΠ½ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ массовом поискС. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ элСмСнты ΠΏΠΎ нСскольким Π½Π°Π±ΠΎΡ€Π°ΠΌ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Π² Ρ†ΠΈΠΊΠ»Π΅, Π²Ρ‹Π·ΠΎΠ² ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠ Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ‚Π°Ρ‚ΡŒ "ΡƒΠ·ΠΊΠΈΠΌ Π³ΠΎΡ€Π»Ρ‹ΡˆΠΊΠΎΠΌ". Π’ Ρ‚Π°ΠΊΠΈΡ… случаях ΠΈΠ½ΠΎΠ³Π΄Π° эффСктивнСС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Запрос с Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π², особСнно Ссли количСство ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΉ ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°Π΅Ρ‚ нСсколько сотСн.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ поискС Π² распрСдСлСнных ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π±Π°Π·Π°Ρ… (Π Π˜Π‘) ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½Π΅Π΅ ΠΈΠ»ΠΈ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ синхронизации. Π£Π±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ искомыС Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΡƒΠ·Π»Π΅ распрСдСлСния.

πŸ’‘

ВсСгда провСряйтС Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π° НСопрСдСлСно ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ΠΌ ΠΊ свойствам Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ критичСских ошибок выполнСния.

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с составными Ρ‚ΠΈΠΏΠ°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ…

БлоТности часто Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚, ΠΊΠΎΠ³Π΄Π° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ справочника ΠΈΠΌΠ΅ΡŽΡ‚ составныС Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ…. НапримСр, ΠΏΠΎΠ»Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ значСния Ρ‚ΠΈΠΏΠ° Число ΠΈΠ»ΠΈ Π‘Ρ‚Ρ€ΠΎΠΊΠ°. Π’ Ρ‚Π°ΠΊΠΎΠΉ ситуации ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ поиска ΠΌΠΎΠΆΠ΅Ρ‚ вСсти сСбя нСпрСдсказуСмо, Ссли Ρ‚ΠΈΠΏ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ значСния Π½Π΅ совпадаСт с фактичСским Ρ‚ΠΈΠΏΠΎΠΌ хранящСгося значСния.

ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° 1Π‘ пытаСтся Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠΎΠ², Π½ΠΎ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅ Π²ΠΎ всСх случаях. Если Π² Π±Π°Π·Π΅ записано число, Π° Π²Ρ‹ ΠΈΡ‰Π΅Ρ‚Π΅ строку "100", поиск ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Π΄Π°Ρ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°. Conversely, Ссли хранится строка, Π° ищСтся число, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ‚Π°ΠΊΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ. Для Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ явно ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Ρ‚ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π΄ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ структуры поиска.

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

Π’ΠΈΠΏ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Π² 1Π‘ Π’ΠΈΠΏ Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΎ внСшнСй систСмС ДСйствиС ΠΏΠ΅Ρ€Π΅Π΄ поиском Риск ошибки
Число Π‘Ρ‚Ρ€ΠΎΠΊΠ° ("123") ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π² Число Высокий
Π”Π°Ρ‚Π° Π‘Ρ‚Ρ€ΠΎΠΊΠ° ("2023-10-01") ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π² Π”Π°Ρ‚Ρƒ Π‘Ρ€Π΅Π΄Π½ΠΈΠΉ
Бсылка GUID (Π‘Ρ‚Ρ€ΠΎΠΊΠ°) ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π² Бсылку Низкий
Π‘ΡƒΠ»Π΅Π²ΠΎ Число (0/1) ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π² Π‘ΡƒΠ»Π΅Π²ΠΎ Π‘Ρ€Π΅Π΄Π½ΠΈΠΉ

ОсобоС Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ слСдуСт ΡƒΠ΄Π΅Π»ΠΈΡ‚ΡŒ полям Ρ‚ΠΈΠΏΠ° Π₯ранилищСЗначСния. Поиск ΠΏΠΎ Ρ‚Π°ΠΊΠΈΠΌ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌ Ρ‡Π΅Ρ€Π΅Π· ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠ Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ поддСрТиваСтся ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ содСрТимоС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π½Π΅ индСксируСтся стандартным ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ. Для Ρ‚Π°ΠΊΠΈΡ… случаСв СдинствСнно Π²Π΅Ρ€Π½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ остаСтся использованиС ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎΠ³ΠΎ запроса с Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ….

ΠŸΠΎΡ‡Π΅ΠΌΡƒ поиск ΠΏΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Ρƒ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚?

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° значСния сСриализуСтся ΠΈ хранится Π² Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅. ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ индСкс ΠΏΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌ полям сСриализованного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, поэтому прямой поиск ΠΏΠΎ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌ Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ΅Π½ стандартными срСдствами.

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ поиска ΠΈ оптимизация

Π₯отя ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠ Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌ являСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ для поиска ΠΏΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»Π΅ΠΉ, ΠΎΠ½ Π½Π΅ всСгда являСтся самым ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ для массовых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ список элСмСнтов ΠΏΠΎ нСстрогому ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΡŽ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "всС Ρ‚ΠΎΠ²Π°Ρ€Ρ‹, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π°Ρ€Ρ‚ΠΈΠΊΡƒΠ» начинаСтся Π½Π° 'A'"), этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ ΠΏΠΎΠ΄ΠΎΠΉΠ΄Π΅Ρ‚.

Π’ Ρ‚Π°ΠΊΠΈΡ… случаях ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Запрос. Запрос позволяСт Π³ΠΈΠ±ΠΊΠΎ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ условия ΠΎΡ‚Π±ΠΎΡ€Π°, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ соСдинСния Ρ‚Π°Π±Π»ΠΈΡ† ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Однако, запрос ΠΈΠΌΠ΅Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ высокий ΠΏΠΎΡ€ΠΎΠ³ Π²Ρ…ΠΎΠ΄Π° ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ написания тСкста запроса Π½Π° языкС, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΌ SQL. Для Ρ€Π°Π·ΠΎΠ²Ρ‹Ρ… поисков ΠΏΠΎ Ρ‚ΠΎΡ‡Π½ΠΎΠΌΡƒ совпадСнию запрос ΠΈΠ·Π±Ρ‹Ρ‚ΠΎΡ‡Π΅Π½.

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

  • πŸš€ ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠ Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌ ΠΈΠ΄Π΅Π°Π»Π΅Π½ для поиска ΠΏΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΊΠ»ΡŽΡ‡Ρƒ (1 запись).
  • πŸ“Š Запрос Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ для Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ списков ΠΈΠ»ΠΈ поиска ΠΏΠΎ частичному совпадСнию.
  • ⚑ ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠšΠΎΠ΄Ρƒ быстрСС ΠΎΠ±Ρ‰Π΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, Ссли извСстСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ΄ элСмСнта.

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΈ возмоТности Ρ€Π°Π±ΠΎΡ‚Ρ‹ с индСксами ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΡ‚Π»ΠΈΡ‡Π°Ρ‚ΡŒΡΡ Π² Ρ€Π°Π·Π½Ρ‹Ρ… вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ (8.2, 8.3, 8.4+). ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΉΡ‚Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ вСрсии вашСй ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΠ΅Ρ€Π΅Π΄ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ΠΌ структуры ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ….

β˜‘οΈ ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ поиска Π² 1Π‘

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

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

НаиболСС распространСнной ошибкой являСтся нСсоотвСтствиС Π΄Π»ΠΈΠ½Ρ‹ строки. Π’ старых вСрсиях ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π΄Π»ΠΈΠ½Π° строкового Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° ΠΌΠΎΠ³Π»Π° Π±Ρ‹Ρ‚ΡŒ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π°. Если Π²Ρ‹ ΠΈΡ‰Π΅Ρ‚Π΅ строку Π΄Π»ΠΈΠ½ΠΎΠΉ 50 символов, Π° Π² Π±Π°Π·Π΅ ΠΏΠΎΠ»Π΅ ΠΎΠ±Ρ€Π΅Π·Π°Π½ΠΎ Π΄ΠΎ 25, совпадСния Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚. ВсСгда провСряйтС свойства ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π΄ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π².

Другая частая ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° β€” ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Π΅ символы. Π”Π°Π½Π½Ρ‹Π΅, Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, часто содСрТат лишниС ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ Π² Π½Π°Ρ‡Π°Π»Π΅ ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ†Π΅ строки. ΠœΠ΅Ρ‚ΠΎΠ΄ поиска считаСт строку "Π’ΠΎΠ²Π°Ρ€ " ΠΈ строку "Π’ΠΎΠ²Π°Ρ€" Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ значСниями. РСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π‘ΠΎΠΊΡ€Π›ΠŸ (ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Π»Π΅Π²Ρ‹Π΅ ΠΈ ΠΏΡ€Π°Π²Ρ‹Π΅ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹) для очищСния искомых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΠ΅Ρ€Π΅Π΄ поиском.

Π’Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ часто Π·Π°Π±Ρ‹Π²Π°ΡŽΡ‚ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Π΅ Π½Π° ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнты Ρ‚ΠΎΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΉΠ΄Π΅Π½Ρ‹ этим ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ. Если ваша Π»ΠΎΠ³ΠΈΠΊΠ° ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ свойство ΠŸΠΎΠΌΠ΅Ρ‚ΠΊΠ°Π£Π΄Π°Π»Π΅Π½ΠΈΡ Ρƒ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠΉ ссылки ΠΈΠ»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΡ‚Π±ΠΎΡ€ Π² запросС, Ссли ΠΌΠ΅Ρ‚ΠΎΠ΄ поиска Π½Π΅ Π΄Π°Π΅Ρ‚ возмоТности ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ (зависит ΠΎΡ‚ контСкста Π²Ρ‹Π·ΠΎΠ²Π°).

// ΠŸΡ€ΠΈΠΌΠ΅Ρ€ бСзопасного поиска с очисткой ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ²

Π˜ΡΠΊΠΎΠΌΡ‹ΠΉΠΡ€Ρ‚ΠΈΠΊΡƒΠ» = Π‘ΠΎΠΊΡ€Π›ΠŸ(Π’Π½Π΅ΡˆΠ½ΠΈΠΉΠΡ€Ρ‚ΠΈΠΊΡƒΠ»);

Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° = Новый Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°("Артикул", Π˜ΡΠΊΠΎΠΌΡ‹ΠΉΠΡ€Ρ‚ΠΈΠΊΡƒΠ»);

Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ = Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠΈ.НомСнклатура.ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠ Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌ(Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°);

Если Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ <> НСопрСдСлСно И НС Π­Π»Π΅ΠΌΠ΅Π½Ρ‚.ΠŸΠΎΠΌΠ΅Ρ‚ΠΊΠ°Π£Π΄Π°Π»Π΅Π½ΠΈΡ Π’ΠΎΠ³Π΄Π°

// Π Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с элСмСнтом

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

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

πŸ’‘

ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ ΠΏΠΎΠΌΠ΅Ρ‚ΠΊΠΈ удалСния β€” ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ шаги для Π½Π°Π΄Π΅ΠΆΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ° поиска Π² Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠΉ эксплуатации.

МоТно Π»ΠΈ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΏΠΎ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ Ρƒ элСмСнта?

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

Π§Ρ‚ΠΎ быстрСС: ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠ Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌ ΠΈΠ»ΠΈ запрос с ΠΎΡ‚Π±ΠΎΡ€ΠΎΠΌ?

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

Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π² управляСмых Ρ„ΠΎΡ€ΠΌΠ°Ρ…?

Π”Π°, ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΠ°ΠΉΡ‚ΠΈΠŸΠΎΠ Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ поддСрТиваСтся Π² управляСмом ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Однако Π²Ρ‹Π·ΠΎΠ² Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° сСрвСрС. Если Π²Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ Π΅Π³ΠΎ ΠΈΠ· ΠΊΠΎΠ΄Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (Ρ„ΠΎΡ€ΠΌΠ°), Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ сСрвСрной ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π²Ρ‹Π·ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· сСрвСрный ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

Как Π½Π°ΠΉΡ‚ΠΈ элСмСнт, Ссли Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² слишком ΠΌΠ½ΠΎΠ³ΠΎ для структуры?

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ Π½Π° количСство Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Π² структурС практичСски Π½Π΅Ρ‚, Π½ΠΎ логичСски ΠΈΡΠΊΠ°Ρ‚ΡŒ ΠΏΠΎ 10-15 полям нСцСлСсообразно. Если комбинация ΠΏΠΎΠ»Π΅ΠΉ ΠΎΡ‡Π΅Π½ΡŒ слоТная, Π»ΡƒΡ‡ΡˆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Запрос, Π³Π΄Π΅ ΠΌΠΎΠΆΠ½ΠΎ Π³ΠΈΠ±ΠΊΠΎ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ условия Π“Π”Π• ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.

ВлияСт Π»ΠΈ вСрсия ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°?

Базовая Π»ΠΎΠ³ΠΈΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π½Π΅ мСнялась Π΄Π°Π²Π½ΠΎ, Π½ΠΎ Π² Π½ΠΎΠ²Ρ‹Ρ… вСрсиях (8.3.20+) ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° с индСксами ΠΈ составными Ρ‚ΠΈΠΏΠ°ΠΌΠΈ. Π’ ΠΎΡ‡Π΅Π½ΡŒ старых вСрсиях (8.1 ΠΈ Π½ΠΈΠΆΠ΅) ΠΌΠΎΠ³Π»ΠΈ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ограничСния, Π½ΠΎ Π² Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅Π»ΠΈΠ·Π°Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎ.