Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Разница SYNONYM и "прямого" обращения (объекта другой БД) на примере UDF. Тормоза.  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
Есть скалярка с одним SELECT с "прямым" обращением (DataBase.Schema.Table) к табле в другой БД:
В трассе видим простыню червёрок записей:
100501: SQLTransaction ... BEGIN TRANSACTION
100502: Lock: Acquired [ENCRIPTED]
100503: Lock: Released [ENCRIPTED]
100504: SQLTransaction ... COMMIT TRANSACTION

Если через синонимы (Schema.TableSynonym), ничего подобного нет, и всё летает.
Планы бинарно идентичны.

Т.е. в одном селекте для каждой "строки" создаётся микротранзакция. В голове такая чушь не укладывается.

Где об этом в BOL-е почитать? А можно ссылку в багрепорте. Или на этом форуме.

2008 (SP2) 10.0.4064.0 (X64)
4 янв 12, 18:35    [11858659]     Ответить | Цитировать Сообщить модератору
 Re: Разница SYNONYM и "прямого" обращения (объекта другой БД) на примере UDF. Тормоза.  [new]
Mjour
Guest
Mnior
Т.е. в одном селекте для каждой "строки" создаётся микротранзакция.


микротранзакция - это сильно.
4 янв 12, 21:32    [11859383]     Ответить | Цитировать Сообщить модератору
 Re: Разница SYNONYM и "прямого" обращения (объекта другой БД) на примере UDF. Тормоза.  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Mnior
Есть скалярка с одним SELECT с "прямым" обращением (DataBase.Schema.Table) к табле в другой БД:
В трассе видим простыню червёрок записей:
100501: SQLTransaction ... BEGIN TRANSACTION
100502: Lock: Acquired [ENCRIPTED]
100503: Lock: Released [ENCRIPTED]
100504: SQLTransaction ... COMMIT TRANSACTION

Если через синонимы (Schema.TableSynonym), ничего подобного нет, и всё летает.
Планы бинарно идентичны.

Т.е. в одном селекте для каждой "строки" создаётся микротранзакция. В голове такая чушь не укладывается.

Где об этом в BOL-е почитать? А можно ссылку в багрепорте. Или на этом форуме.

2008 (SP2) 10.0.4064.0 (X64)

В случае синонима, вызов тоже через функцию реализован?
А вообще, функцию в топку и все должно работать.
5 янв 12, 00:46    [11860408]     Ответить | Цитировать Сообщить модератору
 Re: Разница SYNONYM и "прямого" обращения (объекта другой БД) на примере UDF. Тормоза.  [new]
andrey odegov
Member

Откуда:
Сообщений: 473
похоже у минора в новый год левел уп случился и у него открылся 3-ий глаз :)
стока интересного отыскать в одном продукты от ms
5 янв 12, 09:51    [11861124]     Ответить | Цитировать Сообщить модератору
 Re: Разница SYNONYM и "прямого" обращения (объекта другой БД) на примере UDF. Тормоза.  [new]
kDnZP
Member [заблокирован]

Откуда: ★[msg=16399436]★[msg=20850760]
Сообщений: 11289
andrey odegov
похоже у минора в новый год левел уп случился и у него открылся 3-ий глаз :)
стока интересного отыскать в одном продукты от ms

Нифига подобного. Mnior регулярно всякие загадочные глюко-фичи находит, вне зависимости от месяца и времени года.

+
* У меня на прошлой работе был злобный тестер, который периодически возвращал на доработку функционал со словами "Допустим пользователь в этом гриде нажимает CTRL+стрелка влево, затем ALT+A, затем TAB, затем пытается перейти к другой ячейке с помощью мыши, а ему появляется отакое вот сообщение: "..."". Я в полнейшем офигении глядел на его манипуляции с единственным вопросом: "Как он вообще додумался до такой комбинации?". И ладно бы, был это единичный случай, дык там наблюдалась система))), глюки откапывались регулярно.
5 янв 12, 10:16    [11861141]     Ответить | Цитировать Сообщить модератору
 Re: Разница SYNONYM и "прямого" обращения (объекта другой БД) на примере UDF. Тормоза.  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
Mind
В случае синонима, вызов тоже через функцию реализован?
Ну дык, простой ALTER функции с заменой "имени" таблы.
Mind
А вообще, функцию в топку и все должно работать.
За всеми не подотрёшь.
К тому же вызов функции извне (с клиента), а не как часть запроса.
Меня феномен заинтересовал.

Почему-то появилось подозрение, что здесь замешано зеркалирование. Фигасе
6 янв 12, 00:49    [11863650]     Ответить | Цитировать Сообщить модератору
 Re: Разница SYNONYM и "прямого" обращения (объекта другой БД) на примере UDF. Тормоза.  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31960
Mnior
Ну дык, простой ALTER функции с заменой "имени" таблы.
А запрос с синонимом и без синонима напрамую, без фенкции, даёт тот же эффект?
6 янв 12, 13:24    [11864457]     Ответить | Цитировать Сообщить модератору
 Re: Разница SYNONYM и "прямого" обращения (объекта другой БД) на примере UDF. Тормоза.  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
alexeyvg, да, без функций летает при любом раскладе.

Просто у скалярок бывало багов и не раз, что представлено на этом форуме.
6 янв 12, 19:38    [11865849]     Ответить | Цитировать Сообщить модератору
 Re: Разница SYNONYM и "прямого" обращения (объекта другой БД) на примере UDF. Тормоза.  [new]
Mind
Member

Откуда: Лучший город на Земле
Сообщений: 2322
Mnior
alexeyvg, да, без функций летает при любом раскладе.

Просто у скалярок бывало багов и не раз, что представлено на этом форуме.

Да багов и во всем сервере хватает не только со скалярками. Ладно еще баги с производительностью, я вот вчера нашел баг с ROW_NUMBER, результаты неверные когда MAXDOP > 1, и хотя в MS утверждают что пофиксали его, я все еще могу воспроизвести на 2008 SP3.
7 янв 12, 01:30    [11866870]     Ответить | Цитировать Сообщить модератору
 Re: Разница SYNONYM и "прямого" обращения (объекта другой БД) на примере UDF. Тормоза.  [new]
jimmers
Member

Откуда: Санкт-Петербург - New York City
Сообщений: 5072
Как получить трассу с приведённым фрагментом?
В частности, ENCRIPTED - это из трассы?
7 янв 12, 01:59    [11866913]     Ответить | Цитировать Сообщить модератору
 Re: Разница SYNONYM и "прямого" обращения (объекта другой БД) на примере UDF. Тормоза.  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6724
jimmers
ENCRIPTED - это из трассы?
Да. Не всё из профайлера выдернул, оставил только самое главное.
Будет время (не скоро) могу подробнее выложить. Но не верю, что смогу тест накатать.
7 янв 12, 03:05    [11866991]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить