powered by simpleCommunicator - 21.11.28     © 2024 Programmizd 02
Map
Форумы / Вопросы по IT / Скульная глючная фича
18 сообщений из 18, страница 1 из 1
Скульная глючная фича
    #3394488
SandalTree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей кроме]
Powered by Power Rangers
Код: SQL
1.
SELECT DATEDIFF(DAY,'1582-10-04','1582-10-15')
Выдаёт 11, а должно выдавать 1.

Фигня получается.
Если считать сколько дней прошло с момента рождения Исуса Иосифовича, то неточность в 10 дней набегает.
...
А вы шо думали, всё так просто?
Рейтинг: 0 / 0
Скульная глючная фича
    #3394502
Программизд 02
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Администратор
Гидроцефалы всех стран соединяйтесь!
SandalTree  09.11.2021, 20:29
Код: SQL
1.
SELECT DATEDIFF(DAY,'1582-10-04','1582-10-15')
Выдаёт 11, а должно выдавать 1.

Фигня получается.
Если считать сколько дней прошло с момента рождения Исуса Иосифовича, то неточность в 10 дней набегает.
Пасхи еще больше разнятся бывают.
...
Рейтинг: 0 / 0
Скульная глючная фича
    #3394564
WildMage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Тут спрошу по скулю.
Короче запрос писал вчера. Там надо было два джойна к таблицам в другой базе левых сделать. В исходной времянке в запросе порядка 100 тыс записей. Короче сам запрос отрабатывал почти моментально. Но если два джойна к другой баз сделать в этом запросе, то я не дожидался окончания его работы. И плана актуального не смог посмотреть. Блокировок не было. Данных в тех таблицах (в другой базе) по паре лямов было. Ну не сильно больше. Если их залить отдельно во времянку и к ней сджойнить, то тоже все летает. Чо это было?
Sql server 2017
...
Изменено: 09.11.2021, 20:48 - WildMage
Рейтинг: 0 / 0
Скульная глючная фича
    #3394565
SandalTree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей кроме]
Powered by Power Rangers
Программизд 02  09.11.2021, 20:33
SandalTree  09.11.2021, 20:29
Код: SQL
1.
SELECT DATEDIFF(DAY,'1582-10-04','1582-10-15')
Выдаёт 11, а должно выдавать 1.

Фигня получается.
Если считать сколько дней прошло с момента рождения Исуса Иосифовича, то неточность в 10 дней набегает.
Пасхи еще больше разнятся бывают.
Пасха - это религиозное мракобесие, замешанное на славном событии Пейсах.
Собственно, если подсчитать точное количество времени с этого события, то там ошибка вообще нарастёт до умопомрачения.

Предлагаю сделать в скуле новую функцию SpecialDate.
туда загоняешь то что тебе надо, и можешь юзать результат.
Цитата 
SELECT DATEDIFF(DAY,SpecialDate('Peisah'),SpecialDate('Rojdestwo'));
тогда можно сразу сказать через сколько дней после Пейсаха родился Исус Иосифович.
...
А вы шо думали, всё так просто?
Рейтинг: 0 / 0
Скульная глючная фича
    #3394569
WildMage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дед-Попыхтет знаешь чё по вопросу выше?(моему посту)
...
Изменено: 09.11.2021, 20:49 - WildMage
Рейтинг: 0 / 0
Скульная глючная фича
    #3394576
SandalTree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей кроме]
Powered by Power Rangers
WildMage  09.11.2021, 20:46
Тут спрошу по скулю.
Короче запрос писал вчера. Там надо было два джойна к таблицам в другой базе левых сделать. В исходной времянке в запросе порядка 100 тыс записей. Короче сам запрос отрабатывал почти моментально. Но если два джойна к другой баз сделать в этом запросе, то я не дожидался окончания его работы. И плана актуального не смог посмотреть. Блокировок не было. Данных в тех таблицах (в другой базе) по паре лямов было. Ну не сильно больше. Если их залить отдельно во времянку и к ней сджойнить, то тоже все летает. Чо это было?
Sql server 2017
1. с "другой базой" скуль планы не сохраняет обычно это плохо, иногда хорошо. Поэтому не реккомендуется джойнить разные базы.
2. однозначно что планы у времянки и "другой базы" разные
3. можно глянуть на разницу в планах и понять в чём проблема
4. поняв проблему можно подоткнуть хинты или достроить индексы - оба варианта - говно.
5. Поэтому для разных баз/серверов придумали ETL, но он не предназначен к летанию.

Поэтому (постоянные) времянки рулят.
...
А вы шо думали, всё так просто?
Рейтинг: 0 / 0
Скульная глючная фича
    #3394579
WildMage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SandalTree  09.11.2021, 20:55
WildMage  09.11.2021, 20:46
Тут спрошу по скулю.
Короче запрос писал вчера. Там надо было два джойна к таблицам в другой базе левых сделать. В исходной времянке в запросе порядка 100 тыс записей. Короче сам запрос отрабатывал почти моментально. Но если два джойна к другой баз сделать в этом запросе, то я не дожидался окончания его работы. И плана актуального не смог посмотреть. Блокировок не было. Данных в тех таблицах (в другой базе) по паре лямов было. Ну не сильно больше. Если их залить отдельно во времянку и к ней сджойнить, то тоже все летает. Чо это было?
Sql server 2017
1. с "другой базой" скуль планы не сохраняет обычно это плохо, иногда хорошо. Поэтому не реккомендуется джойнить разные базы.
2. однозначно что планы у времянки и "другой базы" разные
3. можно глянуть на разницу в планах и понять в чём проблема
4. поняв проблему можно подоткнуть хинты или достроить индексы - оба варианта - говно.
5. Поэтому для разных баз/серверов придумали ETL, но он не предназначен к летанию.

Поэтому (постоянные) времянки рулят.
План не дождался с джойном. Так глянуть не получится. В общем то я запрос сделал и он работает нормально. Мне просто интересна причина такого поведения
...
Изменено: 09.11.2021, 20:58 - WildMage
Рейтинг: 0 / 0
Скульная глючная фича
    #3394584
WildMage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Когда через линк если обращаешься, бывает тормознее, если бы на прямую обращался к таблице. Но тут то просто разные бд на одном сервере.
...
Рейтинг: 0 / 0
Скульная глючная фича
    #3394665
SandalTree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей кроме]
Powered by Power Rangers
WildMage  09.11.2021, 20:57
SandalTree  09.11.2021, 20:55
WildMage  09.11.2021, 20:46
...
1. с "другой базой" скуль планы не сохраняет обычно это плохо, иногда хорошо. Поэтому не реккомендуется джойнить разные базы.
2. однозначно что планы у времянки и "другой базы" разные
3. можно глянуть на разницу в планах и понять в чём проблема
4. поняв проблему можно подоткнуть хинты или достроить индексы - оба варианта - говно.
5. Поэтому для разных баз/серверов придумали ETL, но он не предназначен к летанию.

Поэтому (постоянные) времянки рулят.
План не дождался с джойном. Так глянуть не получится. В общем то я запрос сделал и он работает нормально. Мне просто интересна причина такого поведения
Самое частое это если скуль не может предугадать количество записей, то он думает что их "скорее всего мало - 0 или 1" поэтому обычно юзает lookup.
Лукап, на даже средних обьёмах, пипец какой тормозной.

Оно понятно?
...
А вы шо думали, всё так просто?
Рейтинг: 0 / 0
Скульная глючная фича
    #3394674
Дед-Попыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildMage  09.11.2021, 20:46
Тут спрошу по скулю.
Короче запрос писал вчера. Там надо было два джойна к таблицам в другой базе левых сделать. В исходной времянке в запросе порядка 100 тыс записей. Короче сам запрос отрабатывал почти моментально. Но если два джойна к другой баз сделать в этом запросе, то я не дожидался окончания его работы. И плана актуального не смог посмотреть. Блокировок не было. Данных в тех таблицах (в другой базе) по паре лямов было. Ну не сильно больше. Если их залить отдельно во времянку и к ней сджойнить, то тоже все летает. Чо это было?
Sql server 2017
К другой базе это к другому серверу? Соединение с линкед-сервер? Estimated plan приложи.
...
Рейтинг: 0 / 0
Скульная глючная фича
    #3394677
Дед-Попыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WildMage  09.11.2021, 20:59
Когда через линк если обращаешься, бывает тормознее, если бы на прямую обращался к таблице. Но тут то просто разные бд на одном сервере.
Версии бд compatibility_level одинаковый у бд?
...
Рейтинг: 0 / 0
Скульная глючная фича
    #3394691
SandalTree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей кроме]
Powered by Power Rangers
Дед-Попыхтет  09.11.2021, 21:47
WildMage  09.11.2021, 20:59
Когда через линк если обращаешься, бывает тормознее, если бы на прямую обращался к таблице. Но тут то просто разные бд на одном сервере.
Версии бд compatibility_level одинаковый у бд?
Накуа так глубоко копать?
Скорее всего там всё по дефолту. (судя по уровню персонала)
...
А вы шо думали, всё так просто?
Рейтинг: 0 / 0
Скульная глючная фича
    #3394695
Дед-Попыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SandalTree  09.11.2021, 21:53
Дед-Попыхтет  09.11.2021, 21:47
WildMage  09.11.2021, 20:59
...
Версии бд compatibility_level одинаковый у бд?
Накуа так глубоко копать?
Скорее всего там всё по дефолту. (судя по уровню персонала)
План оценочный увидеть проще будет чем гадать
...
Рейтинг: 0 / 0
Скульная глючная фича
    #3394698
SandalTree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей кроме]
Powered by Power Rangers
Дед-Попыхтет  09.11.2021, 21:55
SandalTree  09.11.2021, 21:53
Дед-Попыхтет  09.11.2021, 21:47
...
Накуа так глубоко копать?
Скорее всего там всё по дефолту. (судя по уровню персонала)
План оценочный увидеть проще будет чем гадать
Да.
Однако, проблема уже решена и WildMage вопрошал "что это могло быть?"

Грубо: занимаемся сборкой хрустального шара из разбитого чёрного квадрата.
...
А вы шо думали, всё так просто?
Рейтинг: 0 / 0
Скульная глючная фича
    #3394717
Дед-Попыхтет
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SandalTree  09.11.2021, 21:58
Дед-Попыхтет  09.11.2021, 21:55
SandalTree  09.11.2021, 21:53
...
План оценочный увидеть проще будет чем гадать
Да.
Однако, проблема уже решена и WildMage вопрошал "что это могло быть?"

Грубо: занимаемся сборкой хрустального шара из разбитого чёрного квадрата.
Совершенно точно разные планы - кроссбазного запроса и с временными таблицами.
Причина - сначала я думал что кроссерверный запрос - в этом случае оптимизатор априори не сможет оценить статистику удаленных таблиц.
Позже прочитал что на одном инстансе. В этом случае некорректный план из-за некорректной статистики по индексам.
Скорее всего в основных таблицах индексы другие чем во временной... Хз может seek+lookup выбрал, может порядок соединений.
Здесь для исправления может помочь что-то
1. sp_updatestats
2.hint - option(fast 1)
3. Другие хинты
...
Рейтинг: 0 / 0
Скульная глючная фича
    #3394745
SandalTree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей кроме]
Powered by Power Rangers
Дед-Попыхтет  09.11.2021, 22:08
SandalTree  09.11.2021, 21:58
Дед-Попыхтет  09.11.2021, 21:55
...
Да.
Однако, проблема уже решена и WildMage вопрошал "что это могло быть?"

Грубо: занимаемся сборкой хрустального шара из разбитого чёрного квадрата.
Совершенно точно разные планы - кроссбазного запроса и с временными таблицами.
Причина - сначала я думал что кроссерверный запрос - в этом случае оптимизатор априори не сможет оценить статистику удаленных таблиц.
Позже прочитал что на одном инстансе. В этом случае некорректный план из-за некорректной статистики по индексам.
Скорее всего в основных таблицах индексы другие чем во временной... Хз может seek+lookup выбрал, может порядок соединений.
Здесь для исправления может помочь что-то
1. sp_updatestats
2.hint - option(fast 1)
3. Другие хинты
Надо полагать что во времянке индексов вообще не было, а это значит что там был tablescan
Поэтому нужто добавить "(FORCESCAN)" к табличке из другой базы.
Тем более что этот процесс одноразовый.
...
А вы шо думали, всё так просто?
Рейтинг: 0 / 0
Скульная глючная фича
    #3395264
WildMage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сейчас посмотрел. У баз разные уровни совместимости. Видимо другую базу мигрировали откудато-то на этот сервак. Да так и оставили.
...
Изменено: 10.11.2021, 05:34 - WildMage
Рейтинг: 0 / 0
Скульная глючная фича
    #3395266
SandalTree
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[игнорирует гостей кроме]
Powered by Power Rangers
WildMage  10.11.2021, 05:33
Сейчас посмотрел. У баз разные уровни совместимости. Видимо другую базу мигрировали откудато-то на этот сервак. Да так и оставили.
могу ошибаться, но нужно смотреть планы и в чём их разница.
Если скажем линк был по INT то какая хер разница.

С другой стороны, если по текстовому полю, и с разными коллэйшенами, то тогда не использовались-бы индексы, а это значит что было-бы полное сканирование таблиц, что было-бы достаточно быстро.
...
А вы шо думали, всё так просто?
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Вопросы по IT / Скульная глючная фича
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали тему (1): Анонимы (1)
Читали форум (2): Анонимы (1), Bing Bot 5 мин.
Пользователи онлайн (4): Анонимы (3), Bing Bot 4 мин.
x
x
Закрыть


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