|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
Добрый день. Подскажите,кто сможет. Нужно отследить действия пользователя А в БД. Он может делать все инструкции,но в идеале нужно отслеживать слишком долгое выполнение его запросов. Подскажите,как это лучше сделать средствами MSSQL ... |
|||
:
Нравится:
Не нравится:
|
|||
31.12.2019, 19:31 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
31.12.2019, 20:00 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
Максим Александровитч, Можете ещё Extended Events заюзать Вот тут https://billg.sqlteam.com/2018/05/16/sql-server-extended-events-in-production/ есть кейс похожий ... |
|||
:
Нравится:
Не нравится:
|
|||
02.01.2020, 11:03 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
court Разумеется,он не нужен..ибо это нужно на постоянной основе,а он жреть ... |
|||
:
Нравится:
Не нравится:
|
|||
02.01.2020, 18:38 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
Glebanski Максим Александровитч, Можете ещё Extended Events заюзать Вот тут https://billg.sqlteam.com/2018/05/16/sql-server-extended-events-in-production/ есть кейс похожий Понял.Посмотрю спс ... |
|||
:
Нравится:
Не нравится:
|
|||
02.01.2020, 18:42 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
Нет...с 2014 EV есть. У меня 2008 R2 ... |
|||
:
Нравится:
Не нравится:
|
|||
03.01.2020, 22:24 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
Максим Александровитч court Разумеется,он не нужен..ибо это нужно на постоянной основе,а он жреть ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2020, 00:11 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
Mind Максим Александровитч пропущено... Разумеется,он не нужен..ибо это нужно на постоянной основе,а он жреть Что-то мне подсказывает,что трейс будет вовсе не дефолтным ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2020, 12:03 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
Максим Александровитч, Тогда сами раз в мин, например, собирайте ифу запросом. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2020, 12:14 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
Mr. X Максим Александровитч, Тогда сами раз в мин, например, собирайте ифу запросом. Да,по сути к этому же я пришел..По другому,походу никак.. Может кто-ть в курсе,есть ли какое-ть сторонее ПО для этих целей? ... |
|||
:
Нравится:
Не нравится:
|
|||
04.01.2020, 21:28 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
Максим Александровитч Mind пропущено... дефолтный трейс вообще постоянно запущен. Никто ещё не умер от этого. Что-то мне подсказывает,что трейс будет вовсе не дефолтным ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2020, 00:11 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
Максим Александровитч, use [Database] select * from fn_dblog(null, null) ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2020, 00:13 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
PsyMisha Максим Александровитч, use [Database] select * from fn_dblog(null, null) ЖТ..отгонь. После шринка он живой этот лог? ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2020, 16:39 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
Максим Александровитч После шринка он живой этот лог? Волшебной кнопки "залогировать что мне нужно" тоже нет. Так что либо profiler, либо extended events. Само-собой с соответствующими фильтрами. Или, если повезет и план запроса остается в кеше, периодически анализируйте sys.dm_exec_query_stats. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2020, 17:14 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
invm Максим Александровитч После шринка он живой этот лог? Волшебной кнопки "залогировать что мне нужно" тоже нет. Так что либо profiler, либо extended events. Само-собой с соответствующими фильтрами. Или, если повезет и план запроса остается в кеше, периодически анализируйте sys.dm_exec_query_stats. да,это я понял. Штука в том,что EV от 2014 и выше,у меня 2008 R2 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2020, 17:37 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
Максим Александровитч Штука в том,что EV от 2014 и выше,у меня 2008 R2 ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2020, 17:48 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
invm Максим Александровитч Штука в том,что EV от 2014 и выше,у меня 2008 R2 Спс посмотрю ... |
|||
:
Нравится:
Не нравится:
|
|||
05.01.2020, 21:29 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
Максим Александровитч invm пропущено... Даже если живой, то в нем ничего нет ни о запросах select, ни о времени их выполнения. Волшебной кнопки "залогировать что мне нужно" тоже нет. Так что либо profiler, либо extended events. Само-собой с соответствующими фильтрами. Или, если повезет и план запроса остается в кеше, периодически анализируйте sys.dm_exec_query_stats. да,это я понял. Штука в том,что EV от 2014 и выше,у меня 2008 R2 А чего в какие-то дебри лезть. INSERT GETDATE() до за запроса, INSERT GETDATE() после запроса -- чем не устраивает, если вам надо логировать специфический запрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2020, 08:23 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
a_voronin Максим Александровитч пропущено... да,это я понял. Штука в том,что EV от 2014 и выше,у меня 2008 R2 А чего в какие-то дебри лезть. INSERT GETDATE() до за запроса, INSERT GETDATE() после запроса -- чем не устраивает, если вам надо логировать специфический запрос. Нет,мне нужно логировать скорее не запрос,а пользователя,который может выполнять запросы эти..А он может выполнять абсолютно любые операции CRUD, т.к. это унифицированный пользователь,под которым могут работать более 1000 пользователей. Т.е.,суть такова,что я ставлю на мониторинг активность этого пользователя,если его запросы превышают определенный порог в мс(ну или любой другой),то логируется или отправляется уведомление. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2020, 12:44 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
Максим Александровитч a_voronin пропущено... А чего в какие-то дебри лезть. INSERT GETDATE() до за запроса, INSERT GETDATE() после запроса -- чем не устраивает, если вам надо логировать специфический запрос. Нет,мне нужно логировать скорее не запрос,а пользователя,который может выполнять запросы эти..А он может выполнять абсолютно любые операции CRUD, т.к. это унифицированный пользователь,под которым могут работать более 1000 пользователей. Т.е.,суть такова,что я ставлю на мониторинг активность этого пользователя,если его запросы превышают определенный порог в мс(ну или любой другой),то логируется или отправляется уведомление. Дата "до" в переменную, дата "после" в переменную, далее DATEDIFF и разница в инкремент счетчика с получением значения и принятием решения об уведомлении. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2020, 13:33 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
a_voronin Максим Александровитч пропущено... Нет,мне нужно логировать скорее не запрос,а пользователя,который может выполнять запросы эти..А он может выполнять абсолютно любые операции CRUD, т.к. это унифицированный пользователь,под которым могут работать более 1000 пользователей. Т.е.,суть такова,что я ставлю на мониторинг активность этого пользователя,если его запросы превышают определенный порог в мс(ну или любой другой),то логируется или отправляется уведомление. Дата "до" в переменную, дата "после" в переменную, далее DATEDIFF и разница в инкремент счетчика с получением значения и принятием решения об уведомлении. Так..и куда мне это пихать?Если я не знаю,какой запрос и когда запустит этот юзер? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.01.2020, 14:51 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
Максим Александровитч court Разумеется,он не нужен..ибо это нужно на постоянной основе,а он жреть Чтобы не жрал сохраняйте в таблицу на другом сервере. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.01.2020, 20:38 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
Владислав Колосов Максим Александровитч пропущено... Разумеется,он не нужен..ибо это нужно на постоянной основе,а он жреть Чтобы не жрал сохраняйте в таблицу на другом сервере. Другое сервер,конечно,бездонный) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.01.2020, 20:42 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
Максим Александровитч, а какой объем запросов создает _один_ пользователь? Или Вы просто спекулируете не проведя эксперимент? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.01.2020, 20:50 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
Владислав Колосов Максим Александровитч, а какой объем запросов создает _один_ пользователь? Или Вы просто спекулируете не проведя эксперимент? Эти запросы отсасывают темдб...за час где-то 120 ГБ.. Можно юзать говернора..но не все так однозначно если не прекратить,то за час они могут залить данных столько же.. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.01.2020, 20:51 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
Максим Александровитч, объем записанной профайлером трассировки не связан с размером заполнения tempdb. Поставьте фильтры, уберите лишние колонки, будет не так много записано. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.01.2020, 22:22 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
Владислав Колосов Максим Александровитч, объем записанной профайлером трассировки не связан с размером заполнения tempdb. Поставьте фильтры, уберите лишние колонки, будет не так много записано. Максим Александровитч Владислав Колосова какой объем запросов создает _один_ пользователь? Или Вы просто спекулируете не проведя эксперимент? Эти запросы отсасывают темдб...за час где-то 120 ГБ..Вопрос Владислава Колосова был про объём запросов. Запросы с текстом размера 120 Гб пользователь явно не посылает. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2020, 10:48 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
alexeyvg + 1 Выдуманная проблема, уж если дефаултный трейс серьёзно не мешает, то этот вообще будет незаметен. Фильтр на пользователя, + дюрейшен по определению не может нагрузить, именно из за фильтра по дюрейшену. Для фильтрации по duration нужно включать SQL:StmtCompleted. И генерироваться это событие будет для всех выполняемых запросов и только потом уже отфильтровываться. Насколько это повлияет на производительность можете оценить самостоятельно. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2020, 13:29 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
invm alexeyvg + 1 Выдуманная проблема, уж если дефаултный трейс серьёзно не мешает, то этот вообще будет незаметен. Фильтр на пользователя, + дюрейшен по определению не может нагрузить, именно из за фильтра по дюрейшену. Для фильтрации по duration нужно включать SQL:StmtCompleted. И генерироваться это событие будет для всех выполняемых запросов и только потом уже отфильтровываться. Насколько это повлияет на производительность можете оценить самостоятельно. И, концептуально, события в профайлере, и Extended Events, одинаковы, просто совершенно разная реализация. События ведь в любом случае генерятся все существующие (как иначе, ведь не загружается же новый код database engine при запуске профайлера?), но при установке трассы сначала добавляется обработчик, притом явно на верхнем уровне цепочки, а дальше в обработке идёт проверка фильтров. То есть, теоретически, заметно влиять не должно, то есть, можно сделать, что бы не влияло. А вот как сделано на самом деле, интересно было бы узнать. Или хотя бы потестить. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2020, 14:31 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
Максим Александровитч Добрый день. Подскажите,кто сможет. Нужно отследить действия пользователя А в БД. Он может делать все инструкции,но в идеале нужно отслеживать слишком долгое выполнение его запросов. Подскажите,как это лучше сделать средствами MSSQL Вы тут углубились в дебри профилирования, а на самом деле у ТС есть безнес задача, которая должна быть реализованы на уровне бизнес логики. Все запросы пользователей должны быть обернуты в процедуры и во всех процедурах надо следит за временем. Логировать время кодом процедур. Отправлять нотификацию из кода процедуры. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2020, 14:34 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
a_voronin Максим Александровитч Добрый день. Подскажите,кто сможет. Нужно отследить действия пользователя А в БД. Он может делать все инструкции,но в идеале нужно отслеживать слишком долгое выполнение его запросов. Подскажите,как это лучше сделать средствами MSSQL Вы тут углубились в дебри профилирования, а на самом деле у ТС есть безнес задача, которая должна быть реализованы на уровне бизнес логики. Все запросы пользователей должны быть обернуты в процедуры и во всех процедурах надо следит за временем. Логировать время кодом процедур. Отправлять нотификацию из кода процедуры. ИМХО наоборот не надо смешивать бизнес логику с мониторингом и логированием. Хватает инструментов, чтобы отловить долгие запросы, нотификации настроить и статистику красиво вывести, не захламляя при этом код своими велосипедами. ТСу хочется средствами MSSQL. Это Extended Events, либо Trace. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2020, 14:42 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
Максим Александровитч Mr. X Максим Александровитч, Тогда сами раз в мин, например, собирайте ифу запросом. Да,по сути к этому же я пришел..По другому,походу никак.. Может кто-ть в курсе,есть ли какое-ть сторонее ПО для этих целей? А в каком виде вы хотите собирать данные? Как с этим работать? ПО для мониторинга полно на рынке. Мы к примеру используем NewRelic и Raygun. Но прежде чем что-то советовать, хотелось бы какие-то требования увидеть. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2020, 14:48 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
Дмитрий Мух a_voronin пропущено... Вы тут углубились в дебри профилирования, а на самом деле у ТС есть безнес задача, которая должна быть реализованы на уровне бизнес логики. Все запросы пользователей должны быть обернуты в процедуры и во всех процедурах надо следит за временем. Логировать время кодом процедур. Отправлять нотификацию из кода процедуры. ИМХО наоборот не надо смешивать бизнес логику с мониторингом и логированием. Хватает инструментов, чтобы отловить долгие запросы, нотификации настроить и статистику красиво вывести, не захламляя при этом код своими велосипедами. ТСу хочется средствами MSSQL. Это Extended Events, либо Trace. А по-моему вот это бизнес логика по распределению ресурсов. "Т.е.,суть такова,что я ставлю на мониторинг активность этого пользователя,если его запросы превышают определенный порог в мс(ну или любой другой),то логируется или отправляется уведомление." ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2020, 16:50 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
a_voronin Дмитрий Мух пропущено... ИМХО наоборот не надо смешивать бизнес логику с мониторингом и логированием. Хватает инструментов, чтобы отловить долгие запросы, нотификации настроить и статистику красиво вывести, не захламляя при этом код своими велосипедами. ТСу хочется средствами MSSQL. Это Extended Events, либо Trace. А по-моему вот это бизнес логика по распределению ресурсов. "Т.е.,суть такова,что я ставлю на мониторинг активность этого пользователя,если его запросы превышают определенный порог в мс(ну или любой другой),то логируется или отправляется уведомление." Что за предметная область? По мне так простейший алерт в системе мониторинга. Обычно мышкой накликивается. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.01.2020, 21:11 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
skyANA a_voronin пропущено... А по-моему вот это бизнес логика по распределению ресурсов. "Т.е.,суть такова,что я ставлю на мониторинг активность этого пользователя,если его запросы превышают определенный порог в мс(ну или любой другой),то логируется или отправляется уведомление." Что за предметная область? По мне так простейший алерт в системе мониторинга. Обычно мышкой накликивается. Бизнес-логика состоит в разделении ресурсов, в отправке сообщения, в выделении пользователю квоты. Это конечно не логика проведения платежа или приема товара на склад, но это все же нечто, что взаимодействует с юзером, оказывает на него влияние. Это явно не тот мониторинг, который делается для оптимизации производительности. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 08:32 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
На обработку событий все время тратится время - с профилировщиком или без, другой вопрос - сколько "хуков" мы подвесим на эти события и какой IO у нас при этом возникнет в связи с частотой событий. IO на том же сарвере будет, конечно же, вредоносным. Из-за чего у начинающих сыщиков падают сервера. В любом случае, лучшие практики использования профайлера уже описаны в открытых источниках. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 10:38 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
Всем спс.. Буду юзать профайлер.. ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 13:58 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
С другой стороны есть Заббикс. но,опять же,опрос-то производится с помощью скуля. Заббикс лишь регулирует периодичность.. Надо подумать ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 13:59 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
a_voronin Максим Александровитч Добрый день. Подскажите,кто сможет. Нужно отследить действия пользователя А в БД. Он может делать все инструкции,но в идеале нужно отслеживать слишком долгое выполнение его запросов. Подскажите,как это лучше сделать средствами MSSQL Вы тут углубились в дебри профилирования, а на самом деле у ТС есть безнес задача, которая должна быть реализованы на уровне бизнес логики. Все запросы пользователей должны быть обернуты в процедуры и во всех процедурах надо следит за временем. Логировать время кодом процедур. Отправлять нотификацию из кода процедуры. Это практически невозможно...я говорил почему ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 14:41 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
После запуска трассировки с нексолькоми фильтрами и записью в таблицу сервер умер ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 16:03 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
Максим Александровитч, https://docs.microsoft.com/ru-ru/sql/relational-databases/system-dynamic-management-views/sys-dm-exec-procedure-stats-transact-sql?view=sql-server-ver15 Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 16:04 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
Максим Александровитч, Таблица на другом сервере была? А фильтр по пользователю или для всех? Фильтр каких событий? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 16:07 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
Максим Александровитч После запуска трассировки с нексолькоми фильтрами и записью в таблицу сервер умер ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 17:15 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
Максим Александровитч, Для текущих запросов можно поиграться с Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15.
... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 17:34 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
Владислав Колосов А фильтр по пользователю или для всех? Фильтр каких событий? Но видимо сам собой создался трейс без фильтров, и на все события, и сервер "упал" :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2020, 17:36 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
Максим Александровитч После запуска трассировки с нексолькоми фильтрами и записью в таблицу сервер умер ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2020, 00:09 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
entrypoint, Гениально. Может ещё фильтр по пользователю покажете как сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2020, 00:10 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
Mind, Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2020, 09:51 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
entrypoint, зачем во втором cross apply, values пишите? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2020, 12:39 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
nullin, entrypoint, зачем во втором cross apply, values пишите? а что нужно писать ? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2020, 12:41 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
entrypoint, по мне удобнее так: Код: sql 1.
А values лучше, когда есть набор. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2020, 12:51 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
nullin, При code-review сразу видно, что SELECT - это операция соединения, когда необходим контроль выражения CROSS/OUTER APPLY VALUES - операция без соединения - всегда CROSS APPLY такой code-style ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2020, 13:09 |
|
Залогировать время выполненя запроса
|
|||
---|---|---|---|
#18+
entrypoint nullin, При code-review сразу видно, что SELECT - это операция соединения, когда необходим контроль выражения CROSS/OUTER APPLY VALUES - операция без соединения - всегда CROSS APPLY такой code-style Спс ... |
|||
:
Нравится:
Не нравится:
|
|||
17.01.2020, 16:53 |
|
|
start [/forum/topic.php?all=1&fid=46&tid=1686637]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
51ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
75ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 178ms |
0 / 0 |