powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Индексы в postgressql
23 сообщений из 23, страница 1 из 1
Индексы в postgressql
    #39627433
nt.gosurusya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Допустим у нас есть таблица с колонками с типами данных:
1) A- range
2) B – bigint
3) C – text

Мне нужно иметь возможность делать выборки с любым количеством фильтров по этим колонкам.
Т.е. возможно:
1) A
2) A and B
3) A and B and C
4) A and C
5) И т.п.

Размер таблицы 10 млн записей.
Какой индекс ты предлагаешь создать в этом случае?
...
Рейтинг: 0 / 0
Индексы в postgressql
    #39627436
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nt.gosurusya...
Мне нужно иметь возможность делать выборки с любым количеством фильтров по этим колонкам.
...
Какой индекс....
Никакой. Купуть SSD диск и быстрый комп

- Сколько программистов нужно, что бы закрутить лампочку?
- Ни одного. It is hardware problem
( C )
...
Рейтинг: 0 / 0
Индексы в postgressql
    #39627447
nt.gosurusya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsev,
а если серьезно? Вы сможете помочь? мне нужно знать название индексов и вовсе. Буду признателен, критическая ситуация
...
Рейтинг: 0 / 0
Индексы в postgressql
    #39627451
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nt.gosurusyaLeonid Kudryavtsev,
а если серьезно? Вы сможете помочь? мне нужно знать название индексов и вовсе. Буду признателен, критическая ситуация

Индексы создают для ускорения КОНКРЕТНЫХ запросов или наборов (однотипных) запросов
...
Рейтинг: 0 / 0
Индексы в postgressql
    #39627452
pppsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nt.gosurusya,
необходимо понимать каких запросов больше, уникальность значений, поиск по тексту like, ilike или др.
мониторинг запросов может помочь, универсального решения нет
...
Рейтинг: 0 / 0
Индексы в postgressql
    #39627456
nt.gosurusya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsev,
это тестовое задание и просто нужно понимать какие типы индексов в postrgressql нужны. я думаю многоколоночных индексы необходимы
...
Рейтинг: 0 / 0
Индексы в postgressql
    #39627457
ncux199rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nt.gosurusya,

возможно нужно найти самые длинные фильтры.

3) A and B and C

и индексы сделать для них.
в индексе условия расположить сначала самое уникальное и т.д.

Ответ препода потом укажите.
...
Рейтинг: 0 / 0
Индексы в postgressql
    #39627458
nt.gosurusya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
pppsql, просто поймите, что мне нужно отправить сейчас этот ответ. я просто не работал с postgressql у меня 5 лет опыта с mssql и там просто : кластерные и не кластерные. Поэтому и прошу помощи Вас форумчане. Напишите Ваши варианты, это тестовая задачка и нужно мне написать ответ на нее.
...
Рейтинг: 0 / 0
Индексы в postgressql
    #39627466
ncux199rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
правила построения индексов очень похожие. пости одинаковые.
...
Рейтинг: 0 / 0
Индексы в postgressql
    #39627474
nt.gosurusya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ncux199rus, можете просто написать свое виденье этой задачи. и какие индесы нужно построить. буду чрезмерно признателен

ПОМОГИТЕ!!!!
...
Рейтинг: 0 / 0
Индексы в postgressql
    #39627491
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделать три индекса и посмотреть для какой версии появился мёрж индеков.
...
Рейтинг: 0 / 0
Индексы в postgressql
    #39627494
nt.gosurusya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ScareCrow,
какие типы этих трех индексов должны быть?
...
Рейтинг: 0 / 0
Индексы в postgressql
    #39627498
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
btree
...
Рейтинг: 0 / 0
Индексы в postgressql
    #39627501
nt.gosurusya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ScareCrow, там есть определенные типы индексов в postgressql поэтому нужно ваше мнение и знания. спасибо
...
Рейтинг: 0 / 0
Индексы в postgressql
    #39627502
nt.gosurusya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsev,
мне нужно и типы и поля по каким строить, спасибо
...
Рейтинг: 0 / 0
Индексы в postgressql
    #39627506
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nt.gosurusya,

читать сюда и медитировать.
http://www.sql.ru/forum/actualsearch.aspx?search=exclude constraint&sin=0&bid=7&a=&ma=0&dt=-1&s=1&so=1

т.к. у вас в основном ренж.
...
Рейтинг: 0 / 0
Индексы в postgressql
    #39627508
nt.gosurusya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
qwwq,
что означет рендж? можете дать Ваше понимание ситуации и какие идексы необоходимы. Буду очень признателен
...
Рейтинг: 0 / 0
Индексы в postgressql
    #39627519
nt.gosurusya
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребят очень прошу помочь!!! Готов даже за вознаграждение
...
Рейтинг: 0 / 0
Индексы в postgressql
    #39627520
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник

Ну если вопрос "какие индексы"..."с любым количеством фильтров по этим колонкам."

то любой из следующих ответов будет правильный
1) любые
2) никакие
3) все возможные
т.е. создать 6 индексов по колонкам A,B,C ; A,C,B ; B,A,C ; B,C,A ; C,A,B ; C,B,A
(вроде ничего не пропустил)

Последний ответ самый плохой. Т.к. все равно счастья не принесет и содержит в себе кучу ошибок (какие операции могут быть над Range, какой тип индекса выбрать и так далее). Т.ч. лучше остановится на первых двух вариантах: любые и никакие

IMHO

классикаВслух же она спросила:
- Скажите пожалуйста, куда мне отсюда идти?
- А куда ты хочешь попасть? - ответил Кот.
- Мне все равно... - сказала Алиса.
- Тогда все равно куда и идти, - заметил Кот.
- ...только бы попасть куда-нибудь, - пояснила Алиса.
- Куда-нибудь ты обязательно попадешь, - сказал Кот. - Нужно только достаточно долго идти.


p.s.
ScareCrowbtree
для range может быть и btree, и GiST or SP-GiST

нужно знать какие операции над данными полями выполняются в фильтрах и какие фильтры
...
Рейтинг: 0 / 0
Индексы в postgressql
    #39627533
ncux199rus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsev,

если создать индекс покрывающий все 3 столбца? то при каких-то запросах он будет работать.
Код: plsql
1.
2.
3.
4.
CREATE INDEX test_ind
    ON public.test USING btree
    ("B", "A", "C" COLLATE pg_catalog."default")
    TABLESPACE pg_default;
...
Рейтинг: 0 / 0
Индексы в postgressql
    #39627535
qwwq
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nt.gosurusyaДопустим у нас есть таблица с колонками с типами данных:
1) A- range
2) B – bigint
3) C – text

Мне нужно иметь возможность делать выборки с любым количеством фильтров по этим колонкам.
Т.е. возможно:
1) A
2) A and B
3) A and B and C
4) A and C
5) И т.п.

Размер таблицы 10 млн записей.
Какой индекс ты предлагаешь создать в этом случае?
...
Рейтинг: 0 / 0
Индексы в postgressql
    #39627545
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ncux199rusLeonid Kudryavtsev,

если создать индекс покрывающий все 3 столбца? то при каких-то запросах он будет работать.
Код: plsql
1.
2.
3.
4.
CREATE INDEX test_ind
    ON public.test USING btree
    ("B", "A", "C" COLLATE pg_catalog."default")
    TABLESPACE pg_default;


IMHO

В классическом варианте, при запросах, где поля из запроса встречаютс в начале индекса.

SELECT ... FROM ... WHERE B = :1
SELECT ... FROM ... WHERE B = :1 and A:= :2
SELECT ... FROM ... WHERE B = :1 and A:= :2 and C=:3

Всякие извращения, типа Oracle'ого Range Skip Scan и Index full опускаем )))

Т.е. для запроса вида
SECT .. FROM .. WHERE C = :1

данный индекс совершенно не оптимален
...
Рейтинг: 0 / 0
Индексы в postgressql
    #39627566
Фотография ScareCrow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мёрж интексов появился еще в 8.3
...
Рейтинг: 0 / 0
23 сообщений из 23, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Индексы в postgressql
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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