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

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

АрхитСктурная ΡΡƒΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…

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

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

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Никогда Π½Π΅ ΠΏΡ‹Ρ‚Π°ΠΉΡ‚Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π—Π°ΠΏΠΈΡΠ΅ΠΉ для ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… записСй Π² Ρ†ΠΈΠΊΠ»Π΅ Π±Π΅Π· ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ. Π­Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ³ΠΎ количСства ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… SQL-запросов ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‡Ρ‚ΠΎ"ΡƒΠ±ΡŒΠ΅Ρ‚" ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сСрвСра 1Π‘.

ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ чтСния ΠΈ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…

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

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

Рассмотрим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° для чтСния остатков Ρ‡Π΅Ρ€Π΅Π· Π½Π°Π±ΠΎΡ€ записСй:

Набор = РСгистрыНакоплСния.ΠžΡΡ‚Π°Ρ‚ΠΊΠΈΠ’ΠΎΠ²Π°Ρ€ΠΎΠ².Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΠΠ°Π±ΠΎΡ€Π—Π°ΠΏΠΈΡΠ΅ΠΉ;

Набор.ΠžΡ‚Π±ΠΎΡ€.Π‘ΠΊΠ»Π°Π΄.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ(БкладБсылка);

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

// Π”Π°Π»Π΅Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с Π½Π°Π±ΠΎΡ€ΠΎΠΌ ΠΊΠ°ΠΊ с ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠ΅ΠΉ

Для КаТдого Π—Π°ΠΏΠΈΡΡŒ Из Набор Π¦ΠΈΠΊΠ»

Π‘ΡƒΠΌΠΌΠ°ΠžΡΡ‚Π°Ρ‚ΠΊΠ° = Π—Π°ΠΏΠΈΡΡŒ.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ;

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

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

πŸ“Š Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ чтСния Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
НаборЗаписСй.ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ
ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π—Π°ΠΏΠΈΡΠ΅ΠΉ.Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ
Запрос с Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ
РСгистрБвСдСний.ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ

ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ записи ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ

Π‘Π°ΠΌΡ‹ΠΉ Π²Π°ΠΆΠ½Ρ‹ΠΉ аспСкт, Π²Π»ΠΈΡΡŽΡ‰ΠΈΠΉ Π½Π° быстродСйствиС систСмы β€” это ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ сохранСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. НаборЗаписСй ΠΎΠ±Π»Π°Π΄Π°Π΅Ρ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒΡŽ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΉ записи. Когда Π²Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρƒ Π½Π°Π±ΠΎΡ€Π°, ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ° Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ΄ΠΈΠ½ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ SQL-запрос (ΠΈΠ»ΠΈ ΡΠ΅Ρ€ΠΈΡŽ запросов Π² ΠΎΠ΄Π½ΠΎΠΉ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ) для вставки, обновлСния ΠΈΠ»ΠΈ удалСния всСх ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Ρ… строк. Π­Ρ‚ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ сСтСвоС взаимодСйствиС ΠΌΠ΅ΠΆΠ΄Ρƒ сСрвСром ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ сСрвСром Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ….

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π½Π΅Π³ΠΎ, запись Ρ‡Π΅Ρ€Π΅Π· ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π—Π°ΠΏΠΈΡΠ΅ΠΉ (Ρ‡Π΅Ρ€Π΅Π· созданиС ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ записи ΠΈ Π²Ρ‹Π·ΠΎΠ²Π° Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρƒ Π½Π΅Ρ‘) происходит построчно. КаТдая запись β€” это ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Π°Ρ транзакция фиксации Π΄Π°Π½Π½Ρ‹Ρ…. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ 1000 Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ Π² рСгистрС, использованиС ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚ ΠΊ 1000 ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΌ обращСниям ΠΊ Π‘Π£Π‘Π”. ИспользованиС Π½Π°Π±ΠΎΡ€Π° сократит это количСство Π΄ΠΎ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΠ°.

Для наглядности сравним характСристики Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅:

Π₯арактСристика НаборЗаписСй ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π—Π°ΠΏΠΈΡΠ΅ΠΉ (Ρ‡Π΅Ρ€Π΅Π· Π’Ρ‹Π±ΠΎΡ€ΠΊΡƒ)
Π’ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ… Π² памяти Π€Π°Π±Ρ€ΠΈΠΊΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ курсор
ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΡ записи ΠŸΠ°ΠΊΠ΅Ρ‚Π½Π°Ρ (массовая) ΠŸΠΎΡˆΡ‚ΡƒΡ‡Π½Π°Ρ (ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡƒΠ°Π»ΡŒΠ½Π°Ρ)
Нагрузка Π½Π° Π‘Π£Π‘Π” Низкая (1-2 запроса) Высокая (N запросов)
Π Π°Π±ΠΎΡ‚Π° Π² Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ АвтоматичСская Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ° Π’Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ управлСния
πŸ’‘

ΠŸΡ€ΠΈ массовой записи Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ (Π±ΠΎΠ»Π΅Π΅ 50 строк) использованиС НабораЗаписСй ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ для сохранСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ систСмы.

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ использования Π² рСгистрС накоплСния

РСгистры накоплСния β€” это мСсто, Π³Π΄Π΅ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ инструмСнтами проявляСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ярко. ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² двиТСния Ρ‡Π°Ρ‰Π΅ всСго Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‡Π΅Ρ€Π΅Π· НаборЗаписСй. Π­Ρ‚ΠΎ позволяСт Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ всС двиТСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π±ΡƒΠ΄ΡƒΡ‚ записаны Π»ΠΈΠ±ΠΎ всС сразу, Π»ΠΈΠ±ΠΎ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ (ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ атомарности), ΠΈ ΠΏΡ€ΠΈ этом с максимальной ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ.

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

Π’Π°ΠΊΠΆΠ΅ стоит ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ с рСгистрами свСдСний. Для Π½ΠΈΡ… часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π½Ρ‹ΠΉ синтаксис Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, РСгистрБвСдСний.Π’Π°Π»ΡŽΡ‚Ρ‹.Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π—Π°ΠΏΠΈΡΠΈ. Но Π΄Π°ΠΆΠ΅ здСсь, ΠΏΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ курса Π²Π°Π»ΡŽΡ‚ для большого списка Π½ΠΎΠΌΠ΅Π½ΠΊΠ»Π°Ρ‚ΡƒΡ€Ρ‹, созданиС НабораЗаписСй Π±ΡƒΠ΄Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ.

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

Π Π°Π±ΠΎΡ‚Π° с ΠΎΡ‚Π±ΠΎΡ€Π°ΠΌΠΈ ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠ΅ΠΉ

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

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

Набор.ΠžΡ‚Π±ΠΎΡ€.ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚.Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ(ΠšΠΎΠ½Ρ‚Ρ€Π°Π³Π΅Π½Ρ‚);

ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Ρ‡Π΅Ρ€Π΅Π· ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π—Π°ΠΏΠΈΡΠ΅ΠΉ ΠΈ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ, Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΡ‚Π±ΠΎΡ€, Π½ΠΎ Π»ΠΎΠ³ΠΈΠΊΠ° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² часто Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π°. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, НаборЗаписСй позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡŽ ΡƒΠΆΠ΅ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ для Π²Ρ‚ΠΎΡ€ΠΈΡ‡Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±Π΅Π· ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ обращСния ΠΊ Π±Π°Π·Π΅.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ Набор.Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΠžΡ‚Π±ΠΎΡ€Ρ‹ Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ быстро ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ условия ΠΎΡ‚Π±ΠΎΡ€Π° ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ запроса, это сократит количСство ΠΊΠΎΠ΄Π°.

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

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

Π’Π°ΠΊΠΆΠ΅ часто встрСчаСтся ошибка игнорирования Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ. ΠŸΡ€ΠΈ записи Ρ‡Π΅Ρ€Π΅Π· ΠœΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π—Π°ΠΏΠΈΡΠ΅ΠΉ Π² высоконагруТСнных систСмах ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΡ‚ΡŒΡΡ с Π²Π·Π°ΠΈΠΌΠΎΠ±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΌΠΈ (deadlocks), Ссли Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ Π½Π΅ выстроСны Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ порядкС. НаборЗаписСй Π² этом ΠΏΠ»Π°Π½Π΅ бСзопаснСС, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π·Π°Ρ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Π½Π° вСсь Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ записываСмых Π΄Π°Π½Π½Ρ‹Ρ… Π΅Π΄ΠΈΠ½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ.

  • 🚫 Ошибка: Π§Ρ‚Π΅Π½ΠΈΠ΅ всСго рСгистра Π±Π΅Π· ΠΎΡ‚Π±ΠΎΡ€ΠΎΠ² ΠΏΠ΅Ρ€Π΅Π΄ Новым Π“ΠΎΠ΄ΠΎΠΌ.
  • βœ… РСшСниС: ВсСгда ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΠΉΡ‚Π΅ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΎΠΌ ΠΈΠ»ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌΠΈ измСрСниями.
  • ⚑ Π‘ΠΎΠ²Π΅Ρ‚: Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ€Π΅ΠΆΠΈΠΌ"Π—Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ измСнСния" Ρƒ Π½Π°Π±ΠΎΡ€Π° записСй для ускорСния Ρ€Π°Π±ΠΎΡ‚Ρ‹.
Π‘Π΅ΠΊΡ€Π΅Ρ‚ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ

Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ НаборЗаписСй Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния ΠΈ Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ запись, установитС свойство Π’ΠΎΠ»ΡŒΠΊΠΎΠ§Ρ‚Π΅Π½ΠΈΠ΅ = Π˜ΡΡ‚ΠΈΠ½Π°. Π­Ρ‚ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ отслСТивания ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ ускорит Ρ€Π°Π±ΠΎΡ‚Ρƒ.

Π˜Ρ‚ΠΎΠ³ΠΎΠ²ΠΎΠ΅ сравнСниС ΠΈ Π²Ρ‹Π±ΠΎΡ€ инструмСнта

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

Если ΠΆΠ΅ Π·Π°Π΄Π°Ρ‡Π° Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ‚ΠΎΡ‡Π΅Ρ‡Π½ΠΎΠ³ΠΎ доступа, Streaming-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ (ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ чтСния) ΠΈΠ»ΠΈ спСцифичСской Π»ΠΎΠ³ΠΈΠΊΠΈ создания ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½Ρ‹Ρ… записСй Π²Π½Π΅ контСкста Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Ρ‚ΠΎΠ³Π΄Π° Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€. Π“Ρ€Π°ΠΌΠΎΡ‚Π½ΠΎΠ΅ сочСтаниС этих инструмСнтов позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ быстрыС ΠΈ Π½Π°Π΄Π΅ΠΆΠ½Ρ‹Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ 1Π‘, способныС Π²Ρ‹Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ высокиС Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ запись Π½Π°Π±ΠΎΡ€Π° записСй являСтся Π½Π΅ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠΌΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠ΅ΠΉ Π² Ρ€Π°ΠΌΠΊΠ°Ρ… Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ. ΠŸΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡƒΠ±Π΅Π΄ΠΈΡ‚Π΅ΡΡŒ, Ρ‡Ρ‚ΠΎ всС Π΄Π°Π½Π½Ρ‹Π΅ Π² Π½Π°Π±ΠΎΡ€Π΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΠ°Ρ‚ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ прСрывания всСй Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ.

β˜‘οΈ Π§Π΅ΠΊ-лист ΠΏΠ΅Ρ€Π΅Π΄ записью Π½Π°Π±ΠΎΡ€Π°

Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ: 0 / 4
МоТно Π»ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² НаборСЗаписСй послС ΠΌΠ΅Ρ‚ΠΎΠ΄Π° ΠŸΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ?

Π”Π°, это основной сцСнарий использования. ПослС чтСния Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² памяти, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΌΠ΅Π½ΡΡ‚ΡŒ значСния рСсурсов, Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ строки ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅. ИзмСнСния ΠΏΠΎΠΏΠ°Π΄ΡƒΡ‚ Π² Π±Π°Π·Ρƒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ.

Π§Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚, Ссли Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ пустой НаборЗаписСй?

НичСго ΠΊΡ€ΠΈΡ‚ΠΈΡ‡Π½ΠΎΠ³ΠΎ Π½Π΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚. ΠœΠ΅Ρ‚ΠΎΠ΄ Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ просто Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ Π±Π΅Π· выполнСния SQL-ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Однако это лишняя Ρ‚Ρ€Π°Ρ‚Π° рСсурсов Π½Π° созданиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, поэтому Π»ΡƒΡ‡ΡˆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Если НС Набор.ΠŸΡƒΡΡ‚ΠΎΠΉ Π’ΠΎΠ³Π΄Π°....

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Π’Ρ‹Π±ΠΎΡ€ΠΊΠΎΠΉ ΠΈ Набором ΠΏΡ€ΠΈ Ρ‡Ρ‚Π΅Π½ΠΈΠΈ рСгистра свСдСний?

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

Как ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ НаборЗаписСй ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹ΠΌ использованиСм?

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