powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Долгая выборка из INSERTED\DELETED во временную таблицу
25 сообщений из 138, страница 1 из 6
Долгая выборка из INSERTED\DELETED во временную таблицу
    #38782550
Добрый день, товарищи!
Столкнулся с проблемой долгой выборки из дрянотаблиц INSERTED\DELETED в [таблицу\временную_таблицу\табличную_переменную].

Конкретнее. Имеем два стейтмента.

SELECT "ПОЛЕ" INTO #T_INSERTED FROM INSERTED
и
SELECT "ПОЛЕ" INTO #T_INSERTED FROM "Таблица_на_которой_стоит_триггер"

В таблице 350000 записей. Проводится апдейт всех записей по некому полю, думаю не важно по какому.
Результат: 45сек и 0,5 сек. Притом результат один и тотже что выбирать ВСЕ столбцы, что один какой либо. Даже если написать
SELECT 1 INTO #T_INSERTED FROM INSERTED
, то всеравно будет тарабанить 45 сек.

Кто сталкивался? Есть вообще идеи почему к обращению к INSERTED\DELETED идет так долго?
з.ы. SELECT 1 FROM INSERTED тоже тарабанит 45 сек. Вообще без разницы что пытаешься сделать- время всегда одно и тоже. Ну за исключением попытки фильтрации и сортировки оных псевдотейблов.
...
Рейтинг: 0 / 0
Долгая выборка из INSERTED\DELETED во временную таблицу
    #38782568
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АцкийСкотона,

это для выполнения DSQL в триггере?
Или для выполнения процедуры, обрабатывающей inserted/deleted?

В других случаях не могу представить, зачем копировать эти псевдотаблицы во временные
...
Рейтинг: 0 / 0
Долгая выборка из INSERTED\DELETED во временную таблицу
    #38782574
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И какие ожидания у сессии во время этих 45 секунд?
...
Рейтинг: 0 / 0
Долгая выборка из INSERTED\DELETED во временную таблицу
    #38782575
Да, мне надо их потом, асинхронно обработать. Для логирования вобщем надо. :)
...
Рейтинг: 0 / 0
Долгая выборка из INSERTED\DELETED во временную таблицу
    #38782577
pkarklin,

Никаких. Нулл в типе ожидания.
...
Рейтинг: 0 / 0
Долгая выборка из INSERTED\DELETED во временную таблицу
    #38782580
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АцкийСкотонаpkarklin,

Никаких. Нулл в типе ожидания.

Запускайте UPDATE с включенным SET STATISTICS TIME и IO. Посмотрим, на что тратится время.
...
Рейтинг: 0 / 0
Долгая выборка из INSERTED\DELETED во временную таблицу
    #38782582
msLex
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АцкийСкотонаpkarklin,

Никаких. Нулл в типе ожидания.
а в ресурсе?
...
Рейтинг: 0 / 0
Долгая выборка из INSERTED\DELETED во временную таблицу
    #38782584
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АцкийСкотонаПритом результат один и тотже что выбирать ВСЕ столбцы, что один какой либо.Точно? А то, может, на таблице есть индекс с искомым полем, а таблица широкая...

Да, с таким не сталкивался...
...
Рейтинг: 0 / 0
Долгая выборка из INSERTED\DELETED во временную таблицу
    #38782588
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Предлагаете угадать, что Вы написали в триггере?
...
Рейтинг: 0 / 0
Долгая выборка из INSERTED\DELETED во временную таблицу
    #38782589
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владислав КолосовПредлагаете угадать, что Вы написали в триггере?А как от этого может зависеть операция "SELECT "ПОЛЕ" INTO #T_INSERTED FROM INSERTED"? Зачем эта информация нужна?
...
Рейтинг: 0 / 0
Долгая выборка из INSERTED\DELETED во временную таблицу
    #38782595
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvgВладислав КолосовПредлагаете угадать, что Вы написали в триггере?А как от этого может зависеть операция "SELECT "ПОЛЕ" INTO #T_INSERTED FROM INSERTED"? Зачем эта информация нужна?А я подозреваю, что копирование deleted/inserted вообще не нужно.
...
Рейтинг: 0 / 0
Долгая выборка из INSERTED\DELETED во временную таблицу
    #38782615
2pkarklin, для инсертеда статистика ИО не доступна. По крайней мере мне не выдает. Только по физической табличке.

2Владислав Колосов, так я написал же что там. там сейчас два запроса. Вам прямо конкретные названия моих таблиц надо? Бесполезны они вам будут. :)

2iap, я с радостью с Вам потрещу по этой теме потом. Когда Вы столкнетесь с необходимостью логирования изменений большго объема. :)
...
Рейтинг: 0 / 0
Долгая выборка из INSERTED\DELETED во временную таблицу
    #38782616
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iap, да, как-то подозрительно выглядит.
Не факт, что всё происходит так, как описывает автор.
...
Рейтинг: 0 / 0
Долгая выборка из INSERTED\DELETED во временную таблицу
    #38782618
msLex, в ресурсе тоже пусто.
...
Рейтинг: 0 / 0
Долгая выборка из INSERTED\DELETED во временную таблицу
    #38782619
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АцкийСкотона, только одна строчка в триггере?
...
Рейтинг: 0 / 0
Долгая выборка из INSERTED\DELETED во временную таблицу
    #38782626
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АцкийСкотона2pkarklin, для инсертеда статистика ИО не доступна. По крайней мере мне не выдает. Только по физической табличке.

Ну так покажите, что Вы получили, выполняя UPDATE при установленных SETах.
...
Рейтинг: 0 / 0
Долгая выборка из INSERTED\DELETED во временную таблицу
    #38782627
2Владислав Колосов, товарищ, давайте вы найдете где-нибудь у себя в закромах табличку с 300000+ записей и с порядка 70 полями. Запустите апдейт какого-либо поля по всем записям, в триггере напишете SELECT 1 FROM INSERTED , заключив этот запрос в SELECT GETUTCDATE() . И только потом будете утверждать что я что то тут выдумываю. Договорились? ;)
...
Рейтинг: 0 / 0
Долгая выборка из INSERTED\DELETED во временную таблицу
    #38782629
pkarklin, "Table 'FD_Charge_Details'. Scan count 566, logical reads 8981, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0."

Владислав, Остальное в тирггере не выполняется. После обозначенных запросов ретурн поставл я.
...
Рейтинг: 0 / 0
Долгая выборка из INSERTED\DELETED во временную таблицу
    #38782632
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АцкийСкотонаКогда Вы столкнетесь с необходимостью логирования изменений большго объема. :)Ой, и правда! Что же я все эти 17 лет делал-то?!
Ни разу не логировал такие серьёзные таблицы!
...
Рейтинг: 0 / 0
Долгая выборка из INSERTED\DELETED во временную таблицу
    #38782634
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АцкийСкотоназаключив этот запрос в SELECT GETUTCDATE() .Это как?
...
Рейтинг: 0 / 0
Долгая выборка из INSERTED\DELETED во временную таблицу
    #38782635
iap, таки у вас есть способ решить проблему с которой я столкнулся или нет? :) давайте по существу пожалуйста. :)
...
Рейтинг: 0 / 0
Долгая выборка из INSERTED\DELETED во временную таблицу
    #38782638
iap, это вот таг. :)
...
Рейтинг: 0 / 0
Долгая выборка из INSERTED\DELETED во временную таблицу
    #38782640
iap, пардон. рука на контролэнтер дрогнула. :)

SET STATISTICS IO ON
SET STATISTICS TIME ON
SELECT GETUTCDATE(), 'START'


SELECT F_Division, LINK INTO #T_INSERTED FROM INSERTED
SELECT GETUTCDATE(), 'INSERTED'



SELECT * INTO #T_INSERTED2 FROM PE.FD_Charge_Details
SELECT GETUTCDATE(), 'FD_Charge_Details'


SET STATISTICS TIME OFF
SET STATISTICS IO OFF
...
Рейтинг: 0 / 0
Долгая выборка из INSERTED\DELETED во временную таблицу
    #38782641
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АцкийСкотонаpkarklin, "Table 'FD_Charge_Details'. Scan count 566, logical reads 8981, physical reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob read-ahead reads 0."

Владислав, Остальное в тирггере не выполняется. После обозначенных запросов ретурн поставл я.

А статистика TIME? Если триггера нет, что будет со статистикой?
...
Рейтинг: 0 / 0
Долгая выборка из INSERTED\DELETED во временную таблицу
    #38782643
pkarklin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АцкийСкотона,

SET установите в баче, который запускает UPDATE, а не в триггере.
...
Рейтинг: 0 / 0
25 сообщений из 138, страница 1 из 6
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Долгая выборка из INSERTED\DELETED во временную таблицу
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]