Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3]      все
 Re: Долгий insert в #TempTable и странные эстимейшены  [new]
o-o
Guest
Cammomile
автор
прикольно, что без инсерта и с теми же необновленными статистиками тот же скан "летал"

Может магия кэшей, может просто попадал в менее нагруженное время?

хорошо все же, что план вы научились выцеплять, прицеплять,
и что тут есть кто-то, кто удосужился его внимательно посмотреть.
а то вот есть любители страдальцев, уверенные на 101% что там ничего нужное нет
6 июн 17, 15:43    [20543788]     Ответить | Цитировать Сообщить модератору
 Re: Долгий insert в #TempTable и странные эстимейшены  [new]
aleks2
Guest
o-o
Cammomile
пропущено...

Может магия кэшей, может просто попадал в менее нагруженное время?

хорошо все же, что план вы научились выцеплять, прицеплять,
и что тут есть кто-то, кто удосужился его внимательно посмотреть.
а то вот есть любители страдальцев, уверенные на 101% что там ничего нужное нет


Ты мне щас расскажешь, что для обновления статистики и согласования типа переменной с полем фильтра - надо планы изучать?
Бред.
Запросы надо писать подумавши, а не "бери больше - кидай дальше".
6 июн 17, 19:05    [20544587]     Ответить | Цитировать Сообщить модератору
 Re: Долгий insert в #TempTable и странные эстимейшены  [new]
o-o
Guest
aleks2,
Ну ты-то всегда проверяшь типы соединяемого, верно? А как часто, вот прям каждый день или только у новых незнакомых таблиц? А никогда тебе не ресториди базу, где 5 лет подряд в таблице был ключ инт, а сегодня вдруг стал bigint?
И написанное ранее внезапно стало тормозить?
Или когда такое случается, план посмотреть это уголовно наказуемо?
6 июн 17, 19:26    [20544638]     Ответить | Цитировать Сообщить модератору
 Re: Долгий insert в #TempTable и странные эстимейшены  [new]
aleks2
Guest
o-o
aleks2,
Ну ты-то всегда проверяшь типы соединяемого, верно? А как часто, вот прям каждый день или только у новых незнакомых таблиц? А никогда тебе не ресториди базу, где 5 лет подряд в таблице был ключ инт, а сегодня вдруг стал bigint?
И написанное ранее внезапно стало тормозить?
Или когда такое случается, план посмотреть это уголовно наказуемо?


Да, я не ленюсь заглянуть в определение таблицы, шоп правильно написать тип фильтра.
И тебе советую.

Не, не ресторили.

Не припомню, шоб "тормозило".

Планы я смотрю тока от скуки - редко помогает.
В простых запросах - и так фсе ясно.
А в сложных - эффективнее переписать попроще, чем "статистику обновлять".
6 июн 17, 19:51    [20544685]     Ответить | Цитировать Сообщить модератору
 Re: Долгий insert в #TempTable и странные эстимейшены  [new]
Cammomile
Member

Откуда:
Сообщений: 1214
Ну вот тут у меня был такой простой запрос, что и в голову не пришло, что индусы из МС вместо того чтоб кастить переменную к полю, делают ровно наоборот.
6 июн 17, 21:52    [20544923]     Ответить | Цитировать Сообщить модератору
 Re: Долгий insert в #TempTable и странные эстимейшены  [new]
o-o
Guest
aleks2,
еще раз.
вот тебе ресторят базу каждый божий день (т.е. ночь)
а твои прескарасно написанные запросы, лазящие в ту базу, все правильные.
но в один прекрасный день тип в одной из таблиц поменялся, и тебе об этом не сказали.
и полетели твои планы, но ты об этом не ведаешь, ибо в планы не смотришь.
нехорошо получается, барин
----
у нас это вообще нормальная такая практика.
то колонка вдруг стала nullable,
то тип поменялся
(особенно прикольно это во вьюхах нерефрешенных наблюдать,
они в ОЕ показывают старый тип)
то они таблицу закомпрессят и планы снова летят, уже и типы все те же,
но план летит
6 июн 17, 22:41    [20545048]     Ответить | Цитировать Сообщить модератору
 Re: Долгий insert в #TempTable и странные эстимейшены  [new]
o-o
Guest
Cammomile
индусы из МС вместо того чтоб кастить переменную к полю, делают ровно наоборот.

при чем тут индусы-то,
есть же Data Type Precedence (Transact-SQL), побеждает тот тип, что в таблице "выше":
автор
When an operator combines two expressions of different data types,
the rules for data type precedence specify that the data type with the lower precedence is converted to the data type with the higher precedence.
If the conversion is not a supported implicit conversion, an error is returned.
When both operand expressions have the same data type, the result of the operation has that data type

select 1 +'1' что даст?
вроде из числа в строку всегда можно откастить, а вот строку в число нет.
но "побеждает" число.
но виновен не жираф индус, а тот, кто криво написал и понадеялся не пойми на что
6 июн 17, 22:55    [20545072]     Ответить | Цитировать Сообщить модератору
 Re: Долгий insert в #TempTable и странные эстимейшены  [new]
Владислав Колосов
Member

Откуда:
Сообщений: 8725
Надо не восклицать о, статистика! о, приведение типов! А сравнить планы тот, что был прислан ранее и тот, что получился сейчас и понять - на что же повлияло приведение типов. Потому что следствия этого могут привести в действия совершенно другой механизм.
7 июн 17, 10:48    [20545844]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 2 [3]      все
Все форумы / Microsoft SQL Server Ответить