Size: a a a

SqlCom.ru - Стиль жизни SQL

2020 July 28

KT

Konstantin Taranov in SqlCom.ru - Стиль жизни SQL
источник

KT

Konstantin Taranov in SqlCom.ru - Стиль жизни SQL
Alex
Мне не нравится подход, использующий джобы, как таковой, потому что это приводит к тому, что в агенте начинается хаос и простого интерфейса для понимания того, что, вообще, сейчас работает, нет, а встроенным пользоваться уже не получается нормально.
Я за то, чтоб юзать ssis с параметрами, в 100 раз прозрачнее получается.
всем любителям SSIS рекомендую посмотреть если двигаются в сторону Azure статью https://www.timmitchell.net/post/2020/07/16/comparing-ssis-and-azure-data-factory/
Выдержка (но там много интересных сравнительных кейсов):
SSIS works well when several of the following statements are true:
Your workload is mostly or completely on-premises
You already own SQL Server 2016 or newer
Your ETL processes are running consistently throughout the day, not concentrated just on certain times of the day
Your organization already has an investment in SSIS assets

ADF is a great choice when several of the following describe your setup:
Your organization is growing, and you want to pay for what you are currently using, not what you plan to use in the future
Most or all of your workload is in the cloud
You have spikes of activity when your ETL processes are running (nightly, 2x daily, etc.)
Your leadership is comfortable with a variable, consumption-based pricing model
источник

A

Alex in SqlCom.ru - Стиль жизни SQL
Да,  еще ссис усердно срет в логи, а сделать так, чтоб он писал только при ошибке, кажется, вообще, невозможно при запуске из ssisdb
источник

ПД

Павлов Дмитрий... in SqlCom.ru - Стиль жизни SQL
Привет
В базе хранится история закупок (около 40000 строк):
тбл_архив
код товара,цена,дата покупки
и
тбл_справочник (15000 строк)
код товара,наименование
И так несколько лет.
Оператору выводится список товаров базы и средняя цена которая высчитывается по сложной формуле:
((цену 3х годичной давности * коэф1  3раза) + (цена 2х годичной * коэф2 2раза) + (цена прошлого года * коэф3 1раз) + (сегодняшняя цена))/4
Сейчас все это просчитывается "на лету" каждый раз и выводится оператору.
Не будет ли правильным вычислять среднюю цену один раз в начале года и хранить в еще одной таблице
источник

KT

Konstantin Taranov in SqlCom.ru - Стиль жизни SQL
Павлов Дмитрий
Привет
В базе хранится история закупок (около 40000 строк):
тбл_архив
код товара,цена,дата покупки
и
тбл_справочник (15000 строк)
код товара,наименование
И так несколько лет.
Оператору выводится список товаров базы и средняя цена которая высчитывается по сложной формуле:
((цену 3х годичной давности * коэф1  3раза) + (цена 2х годичной * коэф2 2раза) + (цена прошлого года * коэф3 1раз) + (сегодняшняя цена))/4
Сейчас все это просчитывается "на лету" каждый раз и выводится оператору.
Не будет ли правильным вычислять среднюю цену один раз в начале года и хранить в еще одной таблице
На таких объемах данных это смешно, у вас реально есть проблемы с быстродействием? Сложность формулы тоже несколько преувеличена. Если хотите можете попробовать добавить вычисляемый столбец в таблицу для начала
источник

I

ILYA in SqlCom.ru - Стиль жизни SQL
Alex
Да,  еще ссис усердно срет в логи, а сделать так, чтоб он писал только при ошибке, кажется, вообще, невозможно при запуске из ssisdb
Вот реально удивительная претензия. Я вспоминаю как все материли ssis за отсутствие хоть какого нибудь внятного логирования до появления ssisdb....
источник

A

Alex in SqlCom.ru - Стиль жизни SQL
ILYA
Вот реально удивительная претензия. Я вспоминаю как все материли ssis за отсутствие хоть какого нибудь внятного логирования до появления ssisdb....
Я, наверное, тогда под стол пешком ходил)
источник

I

ILYA in SqlCom.ru - Стиль жизни SQL
Alex
Я, наверное, тогда под стол пешком ходил)
Ну да.... История циклична, теперь слишком много логов)
источник

ПД

Павлов Дмитрий... in SqlCom.ru - Стиль жизни SQL
Konstantin Taranov
На таких объемах данных это смешно, у вас реально есть проблемы с быстродействием? Сложность формулы тоже несколько преувеличена. Если хотите можете попробовать добавить вычисляемый столбец в таблицу для начала
До сегодняшнего дня у меня считалось по упрощённой формуле, просто брал среднюю цену за последние 3 года с помощью avg.
Но сегодня дали новую формулу и настоятельно рекомендовали вычислить один раз и хранить.
Я, честно сказать, пока не представляю как одним запросом теперь выводить эту цену.
Потому и решил спросить совета, чтоб копать в верном направлении.
Правильно ли я понимаю, что
чтобы это реализовать нужно 4 раза за каждый год соединить архив с самим собой по id товара?
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Konstantin Taranov
“Я б” - вся сущность ответа. Думаю здесь мало кому интересна дискуссия о подходе параллельного выполнения TSQL кода данного фреймворка, поэтому если есть развернутый ответ с критикой, то лучше сразу его оформить в виде issue на github к данному репо, но прежде чем это делать все таки надо потратить минут 30 хотя бы на демо примеры, чтобы критика была конструктивной - с предложением альтернатив и желательно с тестированием их сравнительной производительности.
Я не тролю, просто устал читать ответы в чате в 3 слова без объяснения мнения и пруфов тестирования.
Ну, просто, зачем это вообще нужно в СУБД?
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Konstantin Taranov
“Я б” - вся сущность ответа. Думаю здесь мало кому интересна дискуссия о подходе параллельного выполнения TSQL кода данного фреймворка, поэтому если есть развернутый ответ с критикой, то лучше сразу его оформить в виде issue на github к данному репо, но прежде чем это делать все таки надо потратить минут 30 хотя бы на демо примеры, чтобы критика была конструктивной - с предложением альтернатив и желательно с тестированием их сравнительной производительности.
Я не тролю, просто устал читать ответы в чате в 3 слова без объяснения мнения и пруфов тестирования.
Ладно, беру свои слова обратно, я не очень глубоко разобрался что это было.
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Павлов Дмитрий
Привет
В базе хранится история закупок (около 40000 строк):
тбл_архив
код товара,цена,дата покупки
и
тбл_справочник (15000 строк)
код товара,наименование
И так несколько лет.
Оператору выводится список товаров базы и средняя цена которая высчитывается по сложной формуле:
((цену 3х годичной давности * коэф1  3раза) + (цена 2х годичной * коэф2 2раза) + (цена прошлого года * коэф3 1раз) + (сегодняшняя цена))/4
Сейчас все это просчитывается "на лету" каждый раз и выводится оператору.
Не будет ли правильным вычислять среднюю цену один раз в начале года и хранить в еще одной таблице
Вообще нормальный вариант...
Но 40 т.с. совсем не много, можно и на лету
источник

KT

Konstantin Taranov in SqlCom.ru - Стиль жизни SQL
Ilia Zviagin
Ладно, беру свои слова обратно, я не очень глубоко разобрался что это было.
Тогда с тебя 🌟 на гтхабе)
источник

ПД

Павлов Дмитрий... in SqlCom.ru - Стиль жизни SQL
Ilia Zviagin
Вообще нормальный вариант...
Но 40 т.с. совсем не много, можно и на лету
Так все ж... хранить или вычислять?
Дилемма
источник

KT

Konstantin Taranov in SqlCom.ru - Стиль жизни SQL
Павлов Дмитрий
Так все ж... хранить или вычислять?
Дилемма
У вас есть проблемы с производительностью этого запроса? Если да, то храните (только вы уверены что по архивным заказам не бывает изменений?), Если нет то на лету считайте, там запрос на таком количестве данных должен за мили секунды отрабатывать
источник

O

Oleg in SqlCom.ru - Стиль жизни SQL
Konstantin Taranov
Тогда с тебя 🌟 на гтхабе)
Звезду господину Таранову!
источник
2020 July 29

ПД

Павлов Дмитрий... in SqlCom.ru - Стиль жизни SQL
Konstantin Taranov
У вас есть проблемы с производительностью этого запроса? Если да, то храните (только вы уверены что по архивным заказам не бывает изменений?), Если нет то на лету считайте, там запрос на таком количестве данных должен за мили секунды отрабатывать
Спасибо
источник

ПД

Павлов Дмитрий... in SqlCom.ru - Стиль жизни SQL
Можно ли как-то обратиться к внутреннему id строки?
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Павлов Дмитрий
Так все ж... хранить или вычислять?
Дилемма
Я бы не хранил, но раз в год можно и превычислить.
источник

IZ

Ilia Zviagin in SqlCom.ru - Стиль жизни SQL
Павлов Дмитрий
Так все ж... хранить или вычислять?
Дилемма
Лучше напиши запрос быстро.
Не сможешь - предвычисляй.
источник