Size: a a a

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

2020 May 13

А

Артем in SqlCom.ru - Стиль жизни SQL
Dmitriy Ivanov
Это начальная ставка, дальше уже по функционалу будем смотреть. Возможно задачи интересные, тогда можно оставить, если нет, то надо повысить. Тем более я знаю, что даже на этот ценник Российские компании жмутся, хотят получить спеца за даром.
Финансовый отдел, это задачи по расчету ДС/ЭДО/интеграция с банками. Уровень интересности по сравнению с изучением каких-нибудь шейдеров/геймдева сам понимаешь)
источник

DI

Dmitriy Ivanov in SqlCom.ru - Стиль жизни SQL
Артем
Финансовый отдел, это задачи по расчету ДС/ЭДО/интеграция с банками. Уровень интересности по сравнению с изучением каких-нибудь шейдеров/геймдева сам понимаешь)
финансы это куча гемора, фиды -шмиды , постоянные доработки скорее всего, т.к. нет api  или оно меняется по хотению с другой стороны ну и все в этом духе
источник

А

Артем in SqlCom.ru - Стиль жизни SQL
Dmitriy Ivanov
финансы это куча гемора, фиды -шмиды , постоянные доработки скорее всего, т.к. нет api  или оно меняется по хотению с другой стороны ну и все в этом духе
С Апи все норм. Микросервисная архитектура гарантирует) На базе архитектура не шик, но держит. Доработок много, это да.
источник

А

Артем in SqlCom.ru - Стиль жизни SQL
Если бы было мало, я бы здесь не плакался)
источник

T

Timus in SqlCom.ru - Стиль жизни SQL
банки... как много в этом слове... взять и изменить формат данных не предупредив - влегкую
источник

ДЗ

Дмитрий Зайцев... in SqlCom.ru - Стиль жизни SQL
Друзья, обсуждаем вакансию в личку или на втором канале @sql_ninja
источник

DI

Dmitriy Ivanov in SqlCom.ru - Стиль жизни SQL
плавали знаем, гемор обеспечен на полную
источник

А

Артем in SqlCom.ru - Стиль жизни SQL
Дмитрий Зайцев
Друзья, обсуждаем вакансию в личку или на втором канале @sql_ninja
Прошу прощения.
источник

E

Elvira in SqlCom.ru - Стиль жизни SQL
Спасибо большое!
источник

0

0xFF in SqlCom.ru - Стиль жизни SQL
Как в pgsql изменить тип столбца из integer в serial?
источник
2020 May 14

DI

Dmitriy Ivanov in SqlCom.ru - Стиль жизни SQL
0xFF
Как в pgsql изменить тип столбца из integer в serial?
источник

EI

Erik Ivanov in SqlCom.ru - Стиль жизни SQL
Здравствуйте коллеги.
Написал запрос https://pastebin.com/WtGYsGbW
Последние два join нужно сделать INNER JOIN но план запроса становится ужасный. Вот он https://www.brentozar.com/pastetheplan/?id=Bk3-zC5qI
Если последние два LEFT JOIN то всё в порядке. Вот хороший план https://www.brentozar.com/pastetheplan/?id=HJheQ0998
источник

EI

Erik Ivanov in SqlCom.ru - Стиль жизни SQL
Есть идеи как поправить запрос?
источник

DI

Dmitriy Ivanov in SqlCom.ru - Стиль жизни SQL
Erik Ivanov
Есть идеи как поправить запрос?
;WITH CTE AS
(
SELECT
 codeGood.HeadId,
 IIF(codeHead.CodeType = 1, price.SourceGoodCode, price.SourceGoodNameManufName) AS SourceCode
FROM
 cnCodeTable codeGood
 INNER JOIN cnGoods good ON good.Code = codeGood.Key2
)    
SELECT    CAST(fil.DWHId AS TINYINT) FilialId
            , CAST(head.PriceDate AS DATE) DateValue
            , CONVERT(VARCHAR(36), client.Ref, 1) ClientRef
            , good.Code GoodCode
            , CAST(price.Ostatok AS INT) Amount, CAST(price.Price AS FLOAT) Price
            , CONVERT(VARCHAR(36), adr.Ref, 1) AdrdostRef
            , CONVERT(VARCHAR(36), dist.Ref, 1) DistribRef
            , dbo.fn_Binary1CGUID(src.Uid) SourceRef
     FROM cnPriceHead head
         INNER JOIN priceTemp price ON price.PriceHeadID = @priceHeadId
         INNER JOIN handleSchema sch ON sch.Id = head.HandleSchemaId
         INNER JOIN cnSource src ON head.SourceId = src.Id
         INNER JOIN cnFilial fil ON fil.Id = src.FilialId

         INNER JOIN cnCodeTable codeDist ON codeDist.HeadId = sch.CodeTableHeadDistribId AND codeDist.Key1 = price.SourceDistribCode
         INNER JOIN cnDistrib dist ON dist.Code = codeDist.Key2

         INNER JOIN cnCodeTable codeClient ON codeClient.HeadId = sch.CodeTableHeadClientId AND codeClient.Key1 = price.SourceClientCode
         INNER JOIN adrdost adr ON adr.FilialId = src.FilialId AND adr.Code = codeClient.Key2
         INNER JOIN client client ON client.Ref = adr.ClientRef
   
         INNER JOIN linkedCodeTableGood link ON link.HandleSchemaId = sch.Id AND link.DistribId = dist.Id
         INNER JOIN cnCodeTableHead codeHead ON codeHead.Id = link.CodeTableHeadId
       INNER JOIN CTE ON CTE.HeadId = link.CodeTableHeadId
                   
    WHERE head.Id = @priceHeadId
         AND $partition.fnPriceTemp(price.PriceHeadID) = 35
источник

EI

Erik Ivanov in SqlCom.ru - Стиль жизни SQL
codeHead используется в самом запросе, но попробую переделать с CTE
Спасибо
источник

EI

Erik Ivanov in SqlCom.ru - Стиль жизни SQL
Хотя не получится  там ещё price используется, а там максимальное количество данных
источник

DI

Dmitriy Ivanov in SqlCom.ru - Стиль жизни SQL
Если не поможет, то select из cte во времянку и дальше джойн со времянкой, проблема в том что у вас плохой предикат в iif  стоит и оптимизатор неверно считает кол-во строк, а от этого идет и память и тип  соединения и т.д.
источник

DI

Dmitriy Ivanov in SqlCom.ru - Стиль жизни SQL
Erik Ivanov
Хотя не получится  там ещё price используется, а там максимальное количество данных
чего это не получится, идем учить теорию множеств.
источник

EI

Erik Ivanov in SqlCom.ru - Стиль жизни SQL
Может возможно создать так  sp_create_plan_guide   правильный план?
источник
2020 May 15

DI

Dmitriy Ivanov in SqlCom.ru - Стиль жизни SQL
Erik Ivanov
Может возможно создать так  sp_create_plan_guide   правильный план?
Это крайне не рекомендуется делать, сделаете, потом забудете и огребете кучу проблем в будущем.
Но дело ваше, способы как добиться нужного результата указаны выше.
источник