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

Вопрос ΠΎ Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΈ быстро ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части 1Π‘, Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ написании Π½ΠΎΠ²Ρ‹Ρ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΎΠΊ, Ρ‚Π°ΠΊ ΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΉ. БущСствуСт нСсколько ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΎΠ²: ΠΎΡ‚ использования встроСнных ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π΄ΠΎ написания слоТных запросов с ΠΎΠ±Ρ…ΠΎΠ΄ΠΎΠΌ Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ†. Π’Ρ‹Π±ΠΎΡ€ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° зависит ΠΎΡ‚ объСма Π΄Π°Π½Π½Ρ‹Ρ…, контСкста выполнСния (ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΈΠ»ΠΈ сСрвСр) ΠΈ Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°Π·Π±Π΅Ρ€Π΅ΠΌ всС доступныС способы ΠΈ выявим ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΈΠ· Π½ΠΈΡ….

ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Ρ… частСй ΠΈ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ

Вабличная Ρ‡Π°ΡΡ‚ΡŒ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ… ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ… 1Π‘ рСализуСтся Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. КаТдая строка Ρ‚Π°ΠΊΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ прСдставляСт собой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ БтрокаВабличнойЧасти, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…Ρ€Π°Π½ΠΈΡ‚ Π² сСбС значСния всСх своих Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ². Когда Π²Ρ‹ ΠΎΠ±Ρ€Π°Ρ‰Π°Π΅Ρ‚Π΅ΡΡŒ ΠΊ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρƒ, Π²Ρ‹ фактичСски Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ со свойством этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ табличная Ρ‡Π°ΡΡ‚ΡŒ β€” это Π½Π΅ просто Π½Π°Π±ΠΎΡ€ ячССк, Π° полноцСнная коллСкция, управляСмая ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ-Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π΅ΠΌ (Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ ΠΈΠ»ΠΈ справочником).

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

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: ΠŸΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с управляСмыми Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ прямоС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ Π±Π΅Π· ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ записи ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒΡΡ Π² интСрфСйсС сразу. ВсСгда ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ обновлСния ΠΈΠ»ΠΈ пСрСрисовки Ρ„ΠΎΡ€ΠΌΡ‹.

πŸ’‘

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ‚ΠΈΠΏΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Ρ‚Π°ΠΌ, Π³Π΄Π΅ это Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ β€” это ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° ΠΈ позволяСт систСмС Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ Π³Π»ΡƒΠ±ΠΎΠΊΡƒΡŽ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡŽ Π½Π° этапС компиляции модуля.

ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· Ρ†ΠΈΠΊΠ»Ρ‹ Π² управляСмых Ρ„ΠΎΡ€ΠΌΠ°Ρ…

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

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

Для КаТдого Π‘Ρ‚Ρ€ΠΎΠΊΠ°Π’ΠΎΠ²Π°Ρ€Π° Из Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π’ΠΎΠ²Π°Ρ€Ρ‹ Π¦ΠΈΠΊΠ»

Π‘Ρ‚Ρ€ΠΎΠΊΠ°Π’ΠΎΠ²Π°Ρ€Π°.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ = 0;

Π‘Ρ‚Ρ€ΠΎΠΊΠ°Π’ΠΎΠ²Π°Ρ€Π°.Π‘ΡƒΠΌΠΌΠ° = 0;

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

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

β˜‘οΈ ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ Ρ†ΠΈΠΊΠ»Π° очистки

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

ИспользованиС запросов для массовой ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…

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

Для нСпосрСдствСнного обновлСния Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ Ρ‡Π΅Ρ€Π΅Π· запрос ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ схСма "Π’Ρ‹Π±ΠΎΡ€ΠΊΠ° β€” ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ β€” Π—Π°ΠΏΠΈΡΡŒ". Π‘Π½Π°Ρ‡Π°Π»Π° ΠΌΡ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ Π½ΡƒΠΆΠ½Ρ‹Π΅ строки Π² Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, Π·Π°Ρ‚Π΅ΠΌ обновляСм ΠΈΡ… значСния ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ΠΎΠΌ ΠžΠ‘ΠΠžΠ’Π˜Π’Π¬ (Ссли Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ с рСгистром) ΠΈΠ»ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ Π² Ρ†ΠΈΠΊΠ»Π΅ Π½Π° сСрвСрС, Π½ΠΎ ΡƒΠΆΠ΅ Π±Π΅Π· Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Ρ… расходов ΠΊΠ»ΠΈΠ΅Π½Ρ‚-сСрвСрного взаимодСйствия для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки. Π’ контСкстС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² прямоС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ запросом часто Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±Π΅Π· Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ.

Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Ссли ваша Π·Π°Π΄Π°Ρ‡Π° стоит Π² контСкстС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π°Π±ΠΎΡ€ΠΎΠ² записСй ΠΈΠ»ΠΈ рСгистров, запрос β€” это СдинствСнный Π²Π΅Ρ€Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ Π˜Π—ΠœΠ•ΠΠ•ΠΠ˜Π• Π² запросС для обновлСния ΠΏΠΎΠ»Π΅ΠΉ. Π­Ρ‚ΠΎ ΠΊΠ°Ρ€Π΄ΠΈΠ½Π°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ систСмы ΠΏΡ€ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚Π½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹ΠΌ ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠΌ здСсь являСтся ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ индСксам.

ΠœΠ΅Ρ‚ΠΎΠ΄ ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π‘Π»ΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹ΠΉ объСм Π΄Π°Π½Π½Ρ‹Ρ…
Π¦ΠΈΠΊΠ» Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ Низкая Низкая Π”ΠΎ 100 строк
Π¦ΠΈΠΊΠ» Π½Π° сСрвСрС БрСдняя Низкая Π”ΠΎ 5000 строк
Запрос (UPDATE) Высокая БрСдняя Π‘ΠΎΠ»Π΅Π΅ 5000 строк
Консоль запросов Высокая Высокая Π›ΡŽΠ±ΠΎΠΉ объСм (администрированиС)
ΠΡŽΠ°Π½ΡΡ‹ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΎΠΊ ΠΏΡ€ΠΈ запросах

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

Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ строк versus очистка Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ

Частой ошибкой Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² являСтся ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ очисткой Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ΠΌ строки Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части. Если ваша Ρ†Π΅Π»ΡŒ β€” ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ячСйки, Π²Ρ‹ присваиваСтС пустоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Если ΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ саму строку ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π£Π΄Π°Π»ΠΈΡ‚ΡŒ() Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° строки ΠΈΠ»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π£Π΄Π°Π»ΠΈΡ‚ΡŒ() ΠΏΠΎ индСксу. Π­Ρ‚ΠΈ дСйствия ΠΈΠΌΠ΅ΡŽΡ‚ Ρ€Π°Π·Π½Ρ‹Π΅ послСдствия для Π»ΠΎΠ³ΠΈΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹.

ΠŸΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ строк индСксы ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… элСмСнтов ΡΠ΄Π²ΠΈΠ³Π°ΡŽΡ‚ΡΡ. Если Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ†ΠΈΠΊΠ» с индСксом Для i = 1 По ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ() ΠΈ удаляСтС строку Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ†ΠΈΠΊΠ»Π°, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ строки ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ Π²Ρ‹Ρ…ΠΎΠ΄Π° Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°. ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½Π°Ρ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ° β€” ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Ρ†ΠΈΠΊΠ» Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС (ΠΎΡ‚ ΠΊΠΎΠ½Ρ†Π° ΠΊ Π½Π°Ρ‡Π°Π»Ρƒ) ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ элСмСнтов.

// ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ строк ΠΏΠΎ ΡƒΡΠ»ΠΎΠ²ΠΈΡŽ

Для ИндСкс = Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π’ΠΎΠ²Π°Ρ€Ρ‹.ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ() - 1 По 0 Π¦ΠΈΠΊΠ» - 1

Если Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π’ΠΎΠ²Π°Ρ€Ρ‹[ИндСкс].ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ = 0 Π’ΠΎΠ³Π΄Π°

Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠžΠ±ΡŠΠ΅ΠΊΡ‚.Π’ΠΎΠ²Π°Ρ€Ρ‹.Π£Π΄Π°Π»ΠΈΡ‚ΡŒ(ИндСкс);

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

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

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ удалСния, очистка Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ±Π½ΡƒΠ»Π΅Π½ΠΈΠ΅ количСства) Π½Π΅ мСняСт количСство строк Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ. Π­Ρ‚ΠΎ бСзопасно Π΄Π΅Π»Π°Ρ‚ΡŒ Π² прямом Ρ†ΠΈΠΊΠ»Π΅. Π’Ρ‹Π±ΠΎΡ€ ΠΌΠ΅ΠΆΠ΄Ρƒ этими двумя ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°ΠΌΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Π°Π·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° бизнСс-Π»ΠΎΠ³ΠΈΠΊΠ΅: Π΄ΠΎΠ»ΠΆΠ½Π° Π»ΠΈ строка ΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π΅ с Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌΠΈ значСниями, ΠΈΠ»ΠΈ ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΈΡΡ‡Π΅Π·Π½ΡƒΡ‚ΡŒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ? Часто строки с Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌΠΈ значСниями ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ для истории ΠΈΠ»ΠΈ Π°ΡƒΠ΄ΠΈΡ‚Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

πŸ’‘

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

ΠžΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с динамичСскими списками

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

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Π² Ρ‚Π°ΠΊΠΎΠΉ ситуации, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ сначала ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ссылку Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈΠ»ΠΈ справочник), ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠžΠ±ΡŠΠ΅ΠΊΡ‚(). Π­Ρ‚ΠΎ дСйствиС Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ вСсь ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ сСрвСра. ПослС ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ(). Волько послС этого измСнСния сохранятся Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ отразятся Π² спискС.

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

⚠️ Π’Π½ΠΈΠΌΠ°Π½ΠΈΠ΅: Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ динамичСского списка ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅. ПослС ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ очистки Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² ΠΈ записи ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ списка ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ(), Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠ²ΠΈΠ΄Π΅Π» измСнСния.

πŸ“Š Какой ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Ρ‡Π°Ρ‰Π΅?
Π¦ΠΈΠΊΠ»Ρ‹ Π² ΠΊΠΎΠ΄Π΅
Запросы Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ
Консоль запросов
Π’Π½Π΅ΡˆΠ½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ

ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° Ρ‡Π΅Ρ€Π΅Π· консоль запросов ΠΈ администрированиС

Для Ρ€Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΏΠΎ ΠΈΡΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ ошибок ΠΈΠ»ΠΈ массовой очисткС Π΄Π°Π½Π½Ρ‹Ρ… Π² ΡƒΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ… Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΌΠΎΡ‰Π½Ρ‹ΠΌ инструмСнтом являСтся консоль запросов (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° АдминистрированиС 1Π‘ ΠΈΠ»ΠΈ внСшниС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Ρ‚ΠΈΠΏΠ° Vanessa). Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ позволяСт Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ SQL-ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ, минуя Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² 1Π‘.

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

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ Π»ΡŽΠ±Ρ‹Ρ… прямых ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ Ρ‡Π΅Ρ€Π΅Π· консоль запросов Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ:

  • πŸ›‘ Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΠΎΠ»Π½ΡƒΡŽ Ρ€Π΅Π·Π΅Ρ€Π²Π½ΡƒΡŽ копию Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ….
  • πŸ“ ΠŸΡ€ΠΎΡ‚Π΅ΡΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ запрос Π½Π° ΠΊΠΎΠΏΠΈΠΈ Π±Π°Π·Ρ‹ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ прСдприятия.
  • πŸ” ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ зависимых рСгистров ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈΡ… ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²ΠΊΠΈ.
  • πŸ”’ Π’Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΡŽ Π² монопольном Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΈΠ»ΠΈ Π² часы наимСньшСй активности.

Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ ΠΎΠΏΡ€Π°Π²Π΄Π°Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ исправлСнии Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… ошибок ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΠ³Π΄Π° стандартныС срСдства 1Π‘ Π½Π΅ ΡΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΈΠ»ΠΈ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚. Π’ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΡΡ‚Π°Ρ€Π°ΠΉΡ‚Π΅ΡΡŒ ΠΏΡ€ΠΈΠ΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ для Π³Π°Ρ€Π°Π½Ρ‚ΠΈΠΈ цСлостности.

πŸ’‘

ΠŸΠ΅Ρ€Π΅Π΄ запуском массового UPDATE-запроса Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚Π΅ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½Ρ‹ΠΉ SELECT-запрос, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Π²Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚Π΅ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π΅ строки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ. Π­Ρ‚ΠΎ спасСт ΠΎΡ‚ случайной ΠΏΠΎΡ€Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ….

Часто Π·Π°Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ вопросы (FAQ)

Как ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ всС строки Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части ΠΎΠ΄Π½ΠΈΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ?

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

ΠŸΠΎΡ‡Π΅ΠΌΡƒ очистка Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Π½Π΅ сохраняСтся послС закрытия Ρ„ΠΎΡ€ΠΌΡ‹?

Π‘ΠΊΠΎΡ€Π΅Π΅ всСго, Π²Ρ‹ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈ Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΊΠΎΠΏΠΈΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈΠ»ΠΈ Π² Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ структурС Ρ„ΠΎΡ€ΠΌΡ‹, Π½ΠΎ Π½Π΅ Π²Ρ‹Π·Π²Π°Π»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ() для основного ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°. Π’Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, Π½Π΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π»ΠΈ запись Π² свойствах Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.

МоТно Π»ΠΈ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части Ρ‡Π΅Ρ€Π΅Π· запрос UPDATE?

ΠΠ°ΠΏΡ€ΡΠΌΡƒΡŽ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° запросом ΠžΠ‘ΠΠžΠ’Π˜Π’Π¬ нСльзя, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Π΅ части Π½Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ нСзависимыми Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² ΠΎΡ‚Ρ€Ρ‹Π²Π΅ ΠΎΡ‚ Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Π°. НуТно Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΈΡ… ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ, Π»ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ обновлСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ.

Как быстро Π½Π°ΠΉΡ‚ΠΈ строки с пустыми ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌΠΈ?

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ запрос с условиСм Π“Π”Π• Бсылка Π•Π‘Π’Π¬ NULL ΠΈΠ»ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ Π½Π° ΠΏΡƒΡΡ‚ΡƒΡŽ строку/ноль. Для поиска ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ½Ρ‹Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π»ΡƒΡ‡ΡˆΠ΅ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ цСлостности, которая ΠΏΡ€ΠΎΠΉΠ΄Π΅Ρ‚ ΠΏΠΎ всСм Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌ ΠΈ Π²Ρ‹Π²Π΅Π΄Π΅Ρ‚ список Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΠΉ.

ВлияСт Π»ΠΈ очистка Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Π½Π° ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°?

Π”Π°, Ссли ΠΎΡ‡ΠΈΡ‰Π°Π΅ΠΌΡ‹ΠΉ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ участвуСт Π² расчСтах Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ ΠΏΠΎ рСгистрам. ΠŸΡ€ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΌ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° с ΠΎΡ‡ΠΈΡ‰Π΅Π½Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½ΡƒΠ»Π΅Π²Ρ‹ΠΌ количСством) двиТСния ΠΏΠΎ рСгистрам Π±ΡƒΠ΄ΡƒΡ‚ сторнированы ΠΈΠ»ΠΈ пСрСсчитаны, Ρ‡Ρ‚ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ остатки Ρ‚ΠΎΠ²Π°Ρ€ΠΎΠ² ΠΈΠ»ΠΈ Π΄Π΅Π½Π΅Π³.