172 похожих чатов

Попробйте сделать индекс на period: create unique index period_qarter_year on

period (year, qarter) include (period_id)
может поможет?

10 ответов

15 просмотров

ни чего это не поменяло , ни в итоговом плане ни в скорости выполнения

Amir- Автор вопроса
Andrei
ни чего это не поменяло , ни в итоговом плане ни в...

хорошо из пушки по воробьям попробуем: сделайте immutable функцию которая возвращает period id create or replace function get_period_id(p_qarter int, p_year int) returns int as $$ select period_id from period where year = p_year and qarter = p_qarter; $$ language sql IMMUTABLE; SELECT count(*) FROM subject_position_info spi where spi.period_id = get_period_id(p.qarter, p.year)

Amir
хорошо из пушки по воробьям попробуем: сделайте im...

мне не нужен returns int, одно значение это частный случай , по факту нужен набор значений (предполагается выбирать несколько периодов иногда)

Amir
хорошо из пушки по воробьям попробуем: сделайте im...

выполнилось очень быстро, и выбрала только нужные партиции

Amir
хорошо из пушки по воробьям попробуем: сделайте im...

я извиняюсь за глупый вопрос , а как мне вернуть в функции набор значений что бы потом сделать where spi.period_id IN (get_period_id(p.qarter, p.year))

Amir- Автор вопроса
Andrei
я извиняюсь за глупый вопрос , а как мне вернуть в...

я сам так не делал но попробовать можно: функция возвращает тип int[] а в запросе написать period_id = any(функция(год, квартал))

Amir
я сам так не делал но попробовать можно: функция в...

в общем так конкретно не получилось, но вернув table , получилось это заиспользовать только как (SELECTфункция ) И мы опять получаем сканирование всех партиций

Amir
я сам так не делал но попробовать можно: функция в...

select unnest можно использовать, и по нему пробегаться

Andrei
в общем так конкретно не получилось, но вернув tab...

а если делать просто AS (функция ) , то выдаёт это ОШИБКА: функции, возвращающие множества, нельзя применять в конструкции WHERE

Похожие вопросы

Обсуждают сегодня

type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
45
А чем вам питонисты не угодили?😂
.
79
Можно ли загрузить скрипт py в бота чтобы он работал по нему? как это сделать?
huskadam #RCC Фанат? @hitlerpvp
13
А дин типизация это хорошо или плохо?
Alexey
12
Исходники плюс документация? Вы гоните)) демок хватит всем
zamtmn
11
Язык Си можно выучить за день? По книжке ANSI C на 230 страниц
Vincent Vegan
29
Hello. Could you please help me with finding all coordinates within a radius using a spatial index, given that I have a table with coordinates? SET @lng = 37.57925; SET @lat ...
Rinchin G
7
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
76
а что есть "статистика" ? просто подсчет фактов обращения и времен выполнения ?
Сергей
9
Карта сайта