Как стать автором
Обновить

Комментарии 2

Эх... Помню, надо было джойнить по сложному условию со сравнением времен две огромные таблицы фактов с разными таймзонами за достаточно большой период времени, чтобы попасть на летне-зимнюю смену пояса, и когда увидел, что 160 ядер загружены, а прогресса нет, и выяснил причину, то вышло выкрутиться костылем. Сначала с точностью до часа сгрупировал все уникальные таймстампы, потом для каждой строки приджойнил назад на эту cte, вычислил смещение в часах, и после этого через dateadd получил приведенное время. Перф вырос раз в 10 или 100.

Вообще, невероятно странно, что настолько ущербную особенность работы допустили в M$. По сути, для каждой отдельной строки происходит вызов к API операционной системы. Но, даже, если часок посидеть с ручкой и блокнотом, то можно придумать алгоритм, который покроет все возможные кейсы смен поясов, и при этом снизит количество вызовов на порядки.

Лучше было бы сразу отправить читать справку по термину SAGRable, а не рассматривать один частный случай.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий