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

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

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

АрхитСктурныС различия ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠΎΠ² Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ

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

Π’ свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, Набор записСй β€” это Π±ΡƒΡ„Π΅Ρ€ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сначала Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π±Π°Π·Ρ‹, Π° Π·Π°Ρ‚Π΅ΠΌ позволяСт ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠΈ. ΠŸΡ€ΠΈ создании Π½Π°Π±ΠΎΡ€Π° записСй происходит явная Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… (SELECT), послС Ρ‡Π΅Π³ΠΎ всС измСнСния вносятся Π² Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π±ΡƒΡ„Π΅Ρ€ ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡ‚ΠΎΠΌ Ρ„ΠΈΠΊΡΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² Π±Π°Π·Π΅ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ.

ΠšΠ»ΡŽΡ‡Π΅Π²ΠΎΠ΅ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅: ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ записи Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ "Π½Π° Π»Π΅Ρ‚Ρƒ", Π° Набор записСй всСгда Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ всСго объСма Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² строк использованиС Π½Π°Π±ΠΎΡ€Π° записСй ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ ΠΈΡΡ‡Π΅Ρ€ΠΏΠ°Π½ΠΈΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ памяти сСрвСра 1Π‘.

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с РСгистрами свСдСний ΠΈΠ»ΠΈ РСгистрами накоплСния ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ записи часто Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ SQL-запросы, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ "Π·Π½Π°Π΅Ρ‚" структуру Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ конструктор запросов. Набор записСй ΠΆΠ΅ добавляСт слой абстракции, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠ΄ΠΎΠ±Π΅Π½ для программиста, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ нСэффСктивныС Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ИспользованиС Π½Π°Π±ΠΎΡ€Π° записСй для чтСния Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ, являСтся Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π½ΠΎΠΉ ошибкой. Π­Ρ‚ΠΎ создаСт лишнюю Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ ΡΠ΅Ρ‚ΡŒ Π±Π΅Π· ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ»ΡŒΠ·Ρ‹.

πŸ“Š Какой инструмСнт Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅ для чтСния Π΄Π°Π½Π½Ρ‹Ρ…?
ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ записи
Набор записСй
Запрос
НС знаю Ρ€Π°Π·Π½ΠΈΡ†Ρ‹

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ использования ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° записи

ОсновноС ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° записи β€” это Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΡ‡Π΅Ρ‡Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΈ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Он идСально ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ситуаций, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ запись ΠΏΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ ΠΊΠ»ΡŽΡ‡Ρƒ ΠΈΠ»ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π°Π³Ρ€Π΅Π³Π°Ρ†ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ… Π±Π΅Π· Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… записСй.

Рассмотрим Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€: ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ остатка Ρ‚ΠΎΠ²Π°Ρ€Π° Π½Π° складС Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ Π΄Π°Ρ‚Ρƒ. Π’ этом случаС Π½Π΅Ρ‚ нСобходимости Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ всС двиТСния рСгистра. Достаточно ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρƒ записСй рСгистра накоплСния ΠΈ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠžΡΡ‚Π°Ρ‚ΠΊΠΈ. Π­Ρ‚ΠΎ дСйствиС транслируСтся Π² эффСктивный SQL-запрос с Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ.

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

  • πŸš€ Высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ: МинимальноС ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ памяти, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅ ΠΊΡΡˆΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ 1Π‘.
  • 🎯 Π’ΠΎΡ‡Π΅Ρ‡Π½Ρ‹ΠΉ доступ: ИдСально для Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… записСй ΠΏΠΎ индСксу.
  • πŸ”„ ΠΡ‚ΠΎΠΌΠ°Ρ€Π½ΠΎΡΡ‚ΡŒ: ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ запись ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΎΠ΄Π½ΠΎΠΉ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π±Π΅Π· явного блокирования Π½Π°Π±ΠΎΡ€ΠΎΠ².

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

πŸ’‘

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ записи всСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΎΡ‚Π±ΠΎΡ€Ρ‹ ΠΏΠΎ индСксным полям. Π­Ρ‚ΠΎ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ Π‘Π£Π‘Π” Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ индСксом, Π° Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ ΠΏΠΎΠ»Π½ΠΎΠ΅ сканированиС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ (Table Scan).

Когда Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ Набор записСй

Набор записСй становится Π½Π΅Π·Π°ΠΌΠ΅Π½ΠΈΠΌΡ‹ΠΌ инструмСнтом, ΠΊΠΎΠ³Π΄Π° Π»ΠΎΠ³ΠΈΠΊΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΈΡ… ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ слоТной манипуляции Π² памяти ΠΏΠ΅Ρ€Π΅Π΄ записью. Π­Ρ‚ΠΎ классичСский ΠΏΠ°Ρ‚Ρ‚Π΅Ρ€Π½ "Read-Modify-Write" (Π§Ρ‚Π΅Π½ΠΈΠ΅-ИзмСнСниС-Π—Π°ΠΏΠΈΡΡŒ).

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅ ΡΠΈΡ‚ΡƒΠ°Ρ†ΠΈΡŽ: Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ провСсти Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ "РСализация Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ²". ΠŸΠ΅Ρ€Π΅Π΄ записью Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π½Π΅ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½ Π»ΠΈ Ρ‚ΠΎΠ²Π°Ρ€ Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, ΠΏΠ΅Ρ€Π΅ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ скидки Π² зависимости ΠΎΡ‚ суммы Ρ‡Π΅ΠΊΠ° ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π—Π΄Π΅ΡΡŒ Π½Π°Π±ΠΎΡ€ записСй позволяСт Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΈ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ ΠΎΠ΄Π½ΠΈΠΌ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠΌ.

ОсобСнно Π²Π°ΠΆΠ΅Π½ Π½Π°Π±ΠΎΡ€ записСй ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с рСгистрами, Π³Π΄Π΅ Π²Π°ΠΆΠ½Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π³Π΄Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ староС ΠΈ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π°Π±ΠΎΡ€Π° записСй Ρ…Ρ€Π°Π½ΠΈΡ‚ состояниС "Π‘Ρ‹Π»ΠΎ" ΠΈ "Π‘Ρ‚Π°Π»ΠΎ", Ρ‡Ρ‚ΠΎ позволяСт систСмС ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Π΅ ΡΡ‚ΠΎΡ€Π½ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΊΠΈ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².

ΠšΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ записи Набор записСй
ΠŸΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠ΅ памяти МинимальноС ВысокоС (зависит ΠΎΡ‚ объСма)
Π‘ΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ чтСния Высокая (прямой запрос) БрСдняя (Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° + ΠΌΠ°ΠΏΠΏΠΈΠ½Π³)
Удобство записи Π’Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ заполнСния АвтоматичСскоС Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ
Π Π°Π±ΠΎΡ‚Π° с транзакциями Π’Ρ€Π΅Π±ΡƒΠ΅Ρ‚ контроля ВстроСнная Π»ΠΎΠ³ΠΈΠΊΠ° Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Никогда Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π½Π°Π±ΠΎΡ€ записСй для Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ†ΠΈΠΊΠ»Π΅ ΠΏΠΎ Π±ΠΎΠ»ΡŒΡˆΠΎΠΌΡƒ количСству элСмСнтов. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ эффСкту "N+1 запроса" ΠΈ критичСскому падСнию ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ систСмы.

ВлияниС Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ

Вопрос ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² 1Π‘:ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΡΡ‚ΠΈΠ΅ часто упираСтся Π² ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ записСй. ΠŸΡ€ΠΈ использовании ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° записи Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ сам ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π·Π° установку Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ. Если Π²Ρ‹ Ρ‡ΠΈΡ‚Π°Π΅Ρ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ записи, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ явно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Π”Π»ΡΠ˜Π·ΠΌΠ΅Π½Π΅Π½ΠΈΡ, ΠΈΠ½Π°Ρ‡Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡƒΡ‚ΡŒ ΠΊΠΎΠ½Ρ„Π»ΠΈΠΊΡ‚ ΠΏΡ€ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

Набор записСй ΠΏΡ€ΠΈ записи автоматичСски устанавливаСт Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Π½Π° Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌΡ‹Π΅ записи. Π­Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ ΠΊΠΎΠ΄, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π½Π΅ΠΎΠΆΠΈΠ΄Π°Π½Π½Ρ‹ΠΌ Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌ (Deadlock), Ссли порядок Π²Ρ‹Π±ΠΎΡ€Π° записСй Π² Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠΎΡ‚ΠΎΠΊΠ°Ρ… Π½Π΅ согласован. Π‘Π£Π‘Π” Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½Π° ΠΆΠ΄Π°Ρ‚ΡŒ освобоТдСния рСсурсов, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ выглядит ΠΊΠ°ΠΊ "зависаниС" ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

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

ВСхничСскиС Π΄Π΅Ρ‚Π°Π»ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ

Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ управляСмого прилоТСния 1Π‘ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ оптимистичСскиС Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ. Однако ΠΏΡ€ΠΈ записи Π½Π°Π±ΠΎΡ€Π° записСй Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ Π‘Π£Π‘Π” ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒΡΡ пСссимистичСскиС Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ (X-lock), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ 1Π‘.

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

ΠŸΡ€Π°ΠΊΡ‚ΠΈΡ‡Π΅ΡΠΊΠΈΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠ΄Π° ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ

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

ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ = РСгистрыБвСдСний.ΠšΡƒΡ€ΡΡ‹Π’Π°Π»ΡŽΡ‚;

ΠžΡ‚Π±ΠΎΡ€ = Новый Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π°("Π’Π°Π»ΡŽΡ‚Π°, ΠŸΠ΅Ρ€ΠΈΠΎΠ΄", Π’Π°Π»ΡŽΡ‚Π°Π‘ΡΡ‹Π»ΠΊΠ°, ВСкущаяДата());

Π—Π°ΠΏΠΈΡΡŒ = ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠŸΠΎΡΠ»Π΅Π΄Π½ΠΈΠ΅(ΠžΡ‚Π±ΠΎΡ€);

Если Π—Π°ΠΏΠΈΡΡŒ.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ() > 0 Π’ΠΎΠ³Π΄Π°

ΠšΡƒΡ€Ρ = Π—Π°ΠΏΠΈΡΡŒ[0].ΠšΡƒΡ€Ρ;

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

Π’ случаС с Набором записСй Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ рСгистра, Π½Π°ΠΌ потрСбуСтся ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π°Π±ΠΎΡ€Π°, ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΡ‚Π±ΠΎΡ€ ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅. Π­Ρ‚ΠΎ Π·Π°Π½ΠΈΠΌΠ°Π΅Ρ‚ большС строк ΠΊΠΎΠ΄Π° ΠΈ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ большС рСсурсов:

Набор = Новый НаборЗаписСйРСгистраБвСдСний("РСгистрБвСдСний.ΠšΡƒΡ€ΡΡ‹Π’Π°Π»ΡŽΡ‚");

Набор.ΠžΡ‚Π±ΠΎΡ€.Π’Π°Π»ΡŽΡ‚Π°.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ(Π’Π°Π»ΡŽΡ‚Π°Π‘ΡΡ‹Π»ΠΊΠ°);

Набор.ΠžΡ‚Π±ΠΎΡ€.ΠŸΠ΅Ρ€ΠΈΠΎΠ΄.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ(ВСкущаяДата());

Набор.ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ();

Если НС Набор.ΠŸΡƒΡΡ‚ΠΎΠΉ() Π’ΠΎΠ³Π΄Π°

ΠšΡƒΡ€Ρ = Набор.ΠšΡƒΡ€Ρ;

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

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

β˜‘οΈ Π§Π΅ΠΊ-лист ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°

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

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹Π΅ ошибки Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ²

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

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

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

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

πŸ’‘

Π—ΠΎΠ»ΠΎΡ‚ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Запрос для чтСния ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ², ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ записи для Ρ‚ΠΎΡ‡Π΅Ρ‡Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΈ справочников, Π° Набор записСй β€” Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для слоТной Π»ΠΎΠ³ΠΈΠΊΠΈ провСдСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ измСнСния Π΄Π°Π½Π½Ρ‹Ρ….

Π˜Ρ‚ΠΎΠ³ΠΎΠ²Ρ‹Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ ΠΏΠΎ Π²Ρ‹Π±ΠΎΡ€Ρƒ инструмСнта

Подводя ΠΈΡ‚ΠΎΠ³, ΠΌΠΎΠΆΠ½ΠΎ ΡΡ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Π΅Ρ‚ΠΊΠΈΠΉ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ Π²Ρ‹Π±ΠΎΡ€Π°. Если ваша Π·Π°Π΄Π°Ρ‡Π° β€” просто ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ для отобраТСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΈΠ»ΠΈ для Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ Π±Π΅Π· измСнСния, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Запрос ΠΈΠ»ΠΈ ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ записи. Π­Ρ‚ΠΎ обСспСчит ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΎΡ‚ΠΊΠ»ΠΈΠΊΠ° систСмы.

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

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

Π’ Ρ‡Π΅ΠΌ главная Ρ€Π°Π·Π½ΠΈΡ†Π° Π² ΠΏΠΎΡ‚Ρ€Π΅Π±Π»Π΅Π½ΠΈΠΈ памяти?

ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ записи Π½Π΅ Ρ…Ρ€Π°Π½ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π² памяти 1Π‘, работая Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ с Π‘Π£Π‘Π”. Набор записСй Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ всю Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ Π² ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽ ΠΏΠ°ΠΌΡΡ‚ΡŒ процСсса rphost, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ привСсти ΠΊ Π½Π΅Ρ…Π²Π°Ρ‚ΠΊΠ΅ памяти ΠΏΡ€ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΌΠ°Ρ….

МоТно Π»ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Π±ΠΎΡ€ записСй для чтСния?

ВСхничСски ΠΌΠΎΠΆΠ½ΠΎ, Π½ΠΎ это грубая ошибка проСктирования. Для чтСния ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Запросы ΠΈ ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρ‹ записСй. Набор записСй ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для сцСнария "Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ -> Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ -> Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ".

Как ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ ΠΏΡ€ΠΈ записи?

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

Π§Ρ‚ΠΎ быстрСС: запрос ΠΈΠ»ΠΈ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ записи?

Для слоТных Π²Ρ‹Π±ΠΎΡ€ΠΎΠΊ с Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ ΠΈ соСдинСниями быстрСС ΠΈ Π³ΠΈΠ±Ρ‡Π΅ Запрос. Для простой Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Ρƒ (ID) ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ записи ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ быстрСС Π·Π° счСт отсутствия Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Ρ… расходов Π½Π° построСниС Π΄Π΅Ρ€Π΅Π²Π° запроса.