Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SQL Server 2017 - где оптимальнее ставить Cast() / 15 сообщений из 15, страница 1 из 1
14.05.2018, 13:22
    #39644371
vikkiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL Server 2017 - где оптимальнее ставить Cast()
что будет быстрее?:
A:
Код: sql
1.
2.
select date_key,store_key,sum(cast(sales as money))sales
from store_sales group by date_key,store_key

или
B:
Код: sql
1.
2.
select date_key,store_key,cast(sum(sales)as money)sales
from store_sales group by date_key,store_key
...
Рейтинг: 0 / 0
14.05.2018, 13:24
    #39644379
Гигабайт Мегабайтович Килобайтов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL Server 2017 - где оптимальнее ставить Cast()
а что вы хотите получить на выходе? ))
...
Рейтинг: 0 / 0
14.05.2018, 13:25
    #39644380
Гигабайт Мегабайтович Килобайтов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL Server 2017 - где оптимальнее ставить Cast()
и да - какого типа sales ?
...
Рейтинг: 0 / 0
14.05.2018, 13:25
    #39644381
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL Server 2017 - где оптимальнее ставить Cast()
Тут надо задавать другой вопрос. А именно "В каком случае есть шанс получить корректные данные". Так вот - во втором случае ответ может быть и отрицательным...
...
Рейтинг: 0 / 0
14.05.2018, 13:25
    #39644382
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL Server 2017 - где оптимальнее ставить Cast()
vikkiv,

а храните всё в float?
...
Рейтинг: 0 / 0
14.05.2018, 13:30
    #39644388
vikkiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL Server 2017 - где оптимальнее ставить Cast()
хмм.., добавлю - потери при округлении не проблема
вопрос ограничен чисто контекстом что будет быстрее, т.е. не додумывая.
для упрощения скажем тип данных стоит decimal(10,3)
...
Рейтинг: 0 / 0
14.05.2018, 13:35
    #39644392
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL Server 2017 - где оптимальнее ставить Cast()
vikkiv,

для упрощения 1 млрд операций или 1? по факту результаты могут разойтись в тысячи и более
...
Рейтинг: 0 / 0
14.05.2018, 14:14
    #39644422
vikkiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL Server 2017 - где оптимальнее ставить Cast()
спасибо конечно за наводки про которые никто не спрашивал

TaPaK,

отвечая на вопрос (остальные по профилям: явно троли) - ещё раз: не округления/отклонения не важны.
...
Рейтинг: 0 / 0
14.05.2018, 14:18
    #39644427
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL Server 2017 - где оптимальнее ставить Cast()
vikkivспасибо конечно за наводки про которые никто не спрашивал

TaPaK,

отвечая на вопрос (остальные по профилям: явно троли) - ещё раз: не округления/отклонения не важны.
бесплатных операций у сервера нет. В остальном не ясно откуда может возникнуть вопрос "что будет быстрее"
...
Рейтинг: 0 / 0
14.05.2018, 14:41
    #39644445
Гигабайт Мегабайтович Килобайтов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL Server 2017 - где оптимальнее ставить Cast()
ихма - если из decimal(10,3) в money , то конвертацию лучше делать последней, ибо в байтах decimal(10,3) - меньше чем money.
...
Рейтинг: 0 / 0
14.05.2018, 14:42
    #39644448
Гигабайт Мегабайтович Килобайтов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL Server 2017 - где оптимальнее ставить Cast()
Гигабайт Мегабайтович Килобайтовихма - если из decimal(10,3) в money , то конвертацию лучше делать последней, ибо в байтах decimal(10,3) - меньше чем money.
и да -опять же ихма - разность будет заметна только на если вы будете сравнивать "100500 мильенов" записей ))
...
Рейтинг: 0 / 0
14.05.2018, 14:44
    #39644451
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL Server 2017 - где оптимальнее ставить Cast()
Гигабайт Мегабайтович Килобайтовихма - если из decimal(10,3) в money , то конвертацию лучше делать последней, ибо в байтах decimal(10,3) - меньше чем money.
по вашему сервер не "полностью" будет поднимать данные? или результат может занимать неизвестное количество байт? а есил кончертировать в money в decimal(10,3) то выгоднее делать миллион раз?
...
Рейтинг: 0 / 0
14.05.2018, 14:50
    #39644457
Гигабайт Мегабайтович Килобайтов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL Server 2017 - где оптимальнее ставить Cast()
TaPaKГигабайт Мегабайтович Килобайтовихма - если из decimal(10,3) в money , то конвертацию лучше делать последней, ибо в байтах decimal(10,3) - меньше чем money.
по вашему сервер не "полностью" будет поднимать данные? или результат может занимать неизвестное количество байт? а есил кончертировать в money в decimal(10,3) то выгоднее делать миллион раз?
от куда же такая телепатия? ))
я вот например третий раз читаю ваш пост, и не могу понять, что вы им хотели сказать? ...
...
Рейтинг: 0 / 0
14.05.2018, 15:27
    #39644491
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL Server 2017 - где оптимальнее ставить Cast()
Гигабайт Мегабайтович КилобайтовTaPaKпропущено...

по вашему сервер не "полностью" будет поднимать данные? или результат может занимать неизвестное количество байт? а есил кончертировать в money в decimal(10,3) то выгоднее делать миллион раз?
от куда же такая телепатия? ))
я вот например третий раз читаю ваш пост, и не могу понять, что вы им хотели сказать? ...
вы порите чушЪ, и её очень больно
...
Рейтинг: 0 / 0
14.05.2018, 16:52
    #39644537
Eleanor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL Server 2017 - где оптимальнее ставить Cast()
Гигабайт Мегабайтович Килобайтовя вот например третий раз читаю ваш пост, и не могу понять, что вы им хотели сказать? ...
Хочет сказать, что вы рассматриваете не тот эффект.
cast(sum - это сначала сложить 1 млн записей, а потом 1 раз конвертировать результат. Конвертация происходит 1 раз .
sum(cast - это сконвертировать 1 млн записей, а потом их сложить. Конвертация происходит 1 млн раз .
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SQL Server 2017 - где оптимальнее ставить Cast() / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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