Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Мистическая задержка
|
|||
|---|---|---|---|
|
#18+
Всем привет! Есть очень непонятная для меня проблема с обновление данных в таблице. Буду рад совету =) Что бы было проще понять, я в примерах напишу не мои оригинальные названия таблиц и тригеров, а придуманные. Есть запрос Код: sql 1. в таблице "table1" есть 3 тригера: trigger1 - выполняется мгновенно trigger2 - если "column5" не обновлялась, то Return. trigger3 - если "column5" не обновлялась, то Return Суть в том, что между тригерами trigger2 и trigger3 время от времени может происходить задержка в несколько секунд. То есть, trigger1 закончил выполнение, trigger2 закончил выполнение, а trigger3 начал своё выполнение через 1-9 секунд после окончания выполнения trigger2. Что может заставить тригер trigger3 ждать своё выполнение? Код trigger2 Код: sql 1. 2. .... ... ...[/quote] Код trigger3 Код: sql 1. 2. ... ... ... ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2019, 14:20 |
|
||
|
Мистическая задержка
|
|||
|---|---|---|---|
|
#18+
Прогер - странник, Откройте Profiler и смотрите, что происходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2019, 14:38 |
|
||
|
Мистическая задержка
|
|||
|---|---|---|---|
|
#18+
Владислав Колосов, Спасибо, глянул. В общем он не показывает что делает. Вроде как что-то сканирует, но вот что? object_id у данных строчек пустой. Самое странное - выше блокировка таблицы, которая 100% не используется. В тригерах поставил везде Return (то есть тригеры вообще не должны что-то делать), тем не менее он что-то сканирует после обновления ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2019, 15:40 |
|
||
|
Мистическая задержка
|
|||
|---|---|---|---|
|
#18+
Прогер - странник, а Event вам ни о чём не говорит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2019, 15:43 |
|
||
|
Мистическая задержка
|
|||
|---|---|---|---|
|
#18+
TaPaK, по столбцу EventClass я вижу, что он что-то сканирует. Но что? он ни где не пишет ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2019, 15:45 |
|
||
|
Мистическая задержка
|
|||
|---|---|---|---|
|
#18+
Прогер - странникTaPaK, по столбцу EventClass я вижу, что он что-то сканирует. Но что? он ни где не пишет угу, что-то сканирует, а потом как Lock:Acquired :) Ну и почему сканирует, это вы в свои индексы смотрите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2019, 15:50 |
|
||
|
Мистическая задержка
|
|||
|---|---|---|---|
|
#18+
TaPaKугу, что-то сканирует, а потом как Lock:Acquired :) В описании Lock:Acquired есть object_id, который соответствует левой таблице (не той, которую обновляю). получается, она блочит ту, которую обновляю? авторНу и почему сканирует, это вы в свои индексы смотрите то есть, эти пустые строчки - это сканирование индекса в таблице, которую я в настоящий момент обновляю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.01.2019, 16:01 |
|
||
|
Мистическая задержка
|
|||
|---|---|---|---|
|
#18+
Прогер - странникTaPaKугу, что-то сканирует, а потом как Lock:Acquired :) В описании Lock:Acquired есть object_id, который соответствует левой таблице (не той, которую обновляю). получается, она блочит ту, которую обновляю? авторНу и почему сканирует, это вы в свои индексы смотрите то есть, эти пустые строчки - это сканирование индекса в таблице, которую я в настоящий момент обновляю? А декларативная ссылочная целостность у вас не задействована? Да и вообще, FK на эту, блокируемую левую таблицу? Кстати, если это так, постройте индекс по FK в дочерней таблице. Да и в родительской по ключу связи, если ключ в родительской таблице не это не primary key. Потому как MSSQL считает, что ключи и связи - они, конечно, ключами и связями, а индексами нужно управлять отдельно. И никаких индексов под FC самостоятельно не строит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2019, 09:26 |
|
||
|
Мистическая задержка
|
|||
|---|---|---|---|
|
#18+
uaggsterпостройте индекс по FK в дочерней таблице. Да и в родительской по ключу связи, если ключ в родительской таблице не это не primary key. a вы пробовали создать FK, ссылаясь на родителя, где на ключе нет уникального индекса? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2019, 10:00 |
|
||
|
Мистическая задержка
|
|||
|---|---|---|---|
|
#18+
Yasha123uaggsterпостройте индекс по FK в дочерней таблице. Да и в родительской по ключу связи, если ключ в родительской таблице не это не primary key. a вы пробовали создать FK, ссылаясь на родителя, где на ключе нет уникального индекса? Констрейнт же должен быть уникальный, а не индекс, вроде? :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2019, 17:10 |
|
||
|
Мистическая задержка
|
|||
|---|---|---|---|
|
#18+
uaggsterКонстрейнт же должен быть уникальный, а не индекс, вроде? :-) я фигею, дорогая редакция. вы где-то видели констрэйнт уникальности без уникального индекса, к-ый бы эту уникальность организовывал? силой мысли что ли уникальность обеспечивается? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2019, 17:15 |
|
||
|
Мистическая задержка
|
|||
|---|---|---|---|
|
#18+
Yasha123uaggsterКонстрейнт же должен быть уникальный, а не индекс, вроде? :-) я фигею, дорогая редакция. вы где-то видели констрэйнт уникальности без уникального индекса, к-ый бы эту уникальность организовывал? силой мысли что ли уникальность обеспечивается? ээххх, ну, вот, зачем сразу так.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.01.2019, 17:51 |
|
||
|
Мистическая задержка
|
|||
|---|---|---|---|
|
#18+
Yasha123uaggsterКонстрейнт же должен быть уникальный, а не индекс, вроде? :-) я фигею, дорогая редакция. вы где-то видели констрэйнт уникальности без уникального индекса, к-ый бы эту уникальность организовывал? силой мысли что ли уникальность обеспечивается? Неа. Не силой мысли. А директивой ADD CONSTRAINT :-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 09:09 |
|
||
|
Мистическая задержка
|
|||
|---|---|---|---|
|
#18+
uaggsterYasha123пропущено... я фигею, дорогая редакция. вы где-то видели констрэйнт уникальности без уникального индекса, к-ый бы эту уникальность организовывал? силой мысли что ли уникальность обеспечивается? Неа. Не силой мысли. А директивой ADD CONSTRAINT :-) которая индекс создаёт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 09:46 |
|
||
|
Мистическая задержка
|
|||
|---|---|---|---|
|
#18+
uaggsterYasha123пропущено... я фигею, дорогая редакция. вы где-то видели констрэйнт уникальности без уникального индекса, к-ый бы эту уникальность организовывал? силой мысли что ли уникальность обеспечивается? Неа. Не силой мысли. А директивой ADD CONSTRAINT :-) откроем за ленивых собратьев хэлп по ALTER TABLE..ADD CONSTRAINT ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.01.2019, 10:14 |
|
||
|
Мистическая задержка
|
|||
|---|---|---|---|
|
#18+
uaggsterпропущено... Неа. Не силой мысли. А директивой ADD CONSTRAINT :-) При создании UNIQUE CONSTRAINT создается UNIQUE INDEX - Create unique constraint авторYou can create a unique constraint in SQL Server 2017 by using SQL Server Management Studio or Transact-SQL to ensure no duplicate values are entered in specific columns that do not participate in a primary key. Creating a unique constraint automatically creates a corresponding unique index. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.01.2019, 23:42 |
|
||
|
Мистическая задержка
|
|||
|---|---|---|---|
|
#18+
Всем больше спасибо за ответы. Они мне очень помогли =) Причина тормозов была для меня слишком не очевидна. В общем, в тригере "trigger3" было тяжёлое представление. Как только его оттуда убрал, так тормоза прекратились. Не очевидно это было потому, что "trigger3" в 90% заканчивался первой строчкой "Return" и представление выполнялось очень редко, однако перед выполнением "trigger3" он ждал освобождение ресурсов представления и не обращал внимание, что это представление всё равно не выполняется. то есть,мой запрос обновлял таблицу, выполнялся "trigger1", потом "trigger2" и ожидание освобождение ресурсов для "trigger3", даже несмотря на то, что он выполнит Return. Не знаю, понятно ли объяснил)))) Тему можно закрывать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 11:18 |
|
||
|
Мистическая задержка
|
|||
|---|---|---|---|
|
#18+
Прогер - странникперед выполнением "trigger3" он ждал освобождение ресурсов представления и не обращал внимание, что это представление всё равно не выполняется. позвольте все же поинтересоваться, как можно "выполнять" представление (наверное, командой EXECUTE?) и какие же это "ресурсы представления" надо освобождать, да еще и при том, что "представление всё равно не выполняется"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.01.2019, 11:59 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=39761650&tid=1688395]: |
0ms |
get settings: |
11ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
141ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
71ms |
get tp. blocked users: |
2ms |
| others: | 281ms |
| total: | 550ms |

| 0 / 0 |
