Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
06.12.2020, 20:43
|
|||
---|---|---|---|
sum(X) / sum(Y) |
|||
#18+
всем привет у постгри есть такое понятие, как кэширование уже посчитанного? если запрос: Код: sql 1.
то sum() вычисляется 4 раза или 2? насколько помню, там нет возможности сохранить в переменную прямо в запросе "var := sum(x)" ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.12.2020, 21:02
|
|||
---|---|---|---|
|
|||
sum(X) / sum(Y) |
|||
#18+
tip78 всем привет у постгри есть такое понятие, как кэширование уже посчитанного? если запрос: Код: sql 1.
то sum() вычисляется 4 раза или 2? насколько помню, там нет возможности сохранить в переменную прямо в запросе "var := sum(x)" ну так перепишите в виде Код: plsql 1.
если не уверенны как оно внутри устроенно -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.12.2020, 21:27
|
|||
---|---|---|---|
sum(X) / sum(Y) |
|||
#18+
так не удобно. Там много столбов всяких. Все переносить потом. Maxim Boguk если не уверенны как оно внутри устроенно секрет да? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
06.12.2020, 23:47
|
|||
---|---|---|---|
|
|||
sum(X) / sum(Y) |
|||
#18+
tip78 так не удобно. Там много столбов всяких. Все переносить потом. Maxim Boguk если не уверенны как оно внутри устроенно секрет да? не секрет, но это надо в потроха кода закапываться для ответа на вопрос. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.12.2020, 03:28
|
|||
---|---|---|---|
sum(X) / sum(Y) |
|||
#18+
Проверка обязательна, что Y != 0 , SUM(Y) != 0, если пишете X/Y, SUM(X)/SUM(Y). ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.12.2020, 06:10
|
|||
---|---|---|---|
|
|||
sum(X) / sum(Y) |
|||
#18+
tip78, Примерно одинаковое время выполнения на 2300к записях у Код: sql 1. 2. 3. 4.
Забей. upd. Я протупил, это на оракле. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.12.2020, 13:12
|
|||
---|---|---|---|
sum(X) / sum(Y) |
|||
#18+
crutchmaster, эммм... А как это может быть одинаково с разным кол-вом столбов? в последней строке 6 столбов агрегируются... Как это может быть == одному?? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.12.2020, 13:15
|
|||
---|---|---|---|
|
|||
sum(X) / sum(Y) |
|||
#18+
tip78, Считать sum намного проще, чем делать выборку. Настолько, что процесс подсчёта sum теряется на этом фоне. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.12.2020, 15:01
|
|||
---|---|---|---|
sum(X) / sum(Y) |
|||
#18+
crutchmaster, ну тогда стартовый пост теряет смысл заморочки можно было сразу это написать ) ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.12.2020, 15:10
|
|||
---|---|---|---|
|
|||
sum(X) / sum(Y) |
|||
#18+
tip78 crutchmaster, ну тогда стартовый пост теряет смысл заморочки можно было сразу это написать ) на самом деле не теряет... это sum() агрегат дешевый... а бывают очень дорогие агрегатные функции и там это вопрос вполне себе обоснован... Вот например медиана ( https://wiki.postgresql.org/wiki/Aggregate_Median ) нифига не дешевая... -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.12.2020, 16:59
|
|||
---|---|---|---|
sum(X) / sum(Y) |
|||
#18+
цифра вычисленного sum(x) по-любому лежит в ячейке памяти и даже во время отправки объекта с результатами наружу, там будет указатель на эту ячейку точно также можно было бы и взять из этой ячейки вычисленную цифру для соседнего sum(x)... тут нет ничего сложного, элементарная и логичная операция ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.12.2020, 17:02
|
|||
---|---|---|---|
sum(X) / sum(Y) |
|||
#18+
Maxim Boguk нифига не дешевая... ну значит вот её можно воткнуть в запрос crutchmaster ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.12.2020, 17:40
|
|||
---|---|---|---|
|
|||
sum(X) / sum(Y) |
|||
#18+
Если я правильно понял: Изменчивость=постоянная значит результат вычисляется один раз для каждого входного значения Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.12.2020, 20:26
|
|||
---|---|---|---|
sum(X) / sum(Y) |
|||
#18+
господа, а почему Код: sql 1.
даёт в итоге NULL? без coalesce() никак чтоли? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
07.12.2020, 21:10
|
|||
---|---|---|---|
|
|||
sum(X) / sum(Y) |
|||
#18+
tip78 господа, а почему Код: sql 1.
даёт в итоге NULL? без coalesce() никак чтоли? потому что "что угодно" "любой оператор" NULL - есть NULL по SQL стандарту NULL это не НОЛЬ. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
|
08.12.2020, 13:04
|
|||
---|---|---|---|
sum(X) / sum(Y) |
|||
#18+
да ясен-красен, но это же не операция умножения, и не конкатенация мог бы и sum(x) оставить ... |
|||
:
Нравится:
Не нравится:
|
|||
|
08.12.2020, 13:44
|
|||
---|---|---|---|
|
|||
sum(X) / sum(Y) |
|||
#18+
tip78 да ясен-красен, но это же не операция умножения, и не конкатенация мог бы и sum(x) оставить Есть ANSI SQL стандарт и все нормальные базы его стараются придерживаться. -- Maxim Boguk лучшая поддержка PostgreSQL: dataegret.ru ... |
|||
:
Нравится:
Не нравится:
|
|||
|
08.12.2020, 14:25
|
|||
---|---|---|---|
sum(X) / sum(Y) |
|||
#18+
tip78 да ясен-красен, но это же не операция умножения, и не конкатенация А в чём разница с умножением или конкатенацией? К 100 прибавляем неизвестность, почему должно получиться вообще хоть что-то, кроме как другая неизвестность? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=53&tablet=1&tid=1994332]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
302ms |
get topic data: |
14ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
others: | 20ms |
total: | 425ms |
0 / 0 |