powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / возможность создания индекса
6 сообщений из 6, страница 1 из 1
возможность создания индекса
    #33837639
twistfire
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕСть БД
id SERIAL PRIMARY KEY,
cat_id int4,
много еще полей...

в базе 1000000 записей.

При запросе вида:
SELECT some_columns FROM table WHERE id=47875;
Все отрабатывает быстро и четко.

При таких запросах - 2 последовательно... (веб-приложение) - происходят нереальные тормоза... по 5 секунд жду...

SELECT COUNT(*) WHERE cat_id=4;
SELECT some_Column WHERE cat_id=4 ORDER BY id DESC OFFSET 300 LIMIT 20;

Связано ли это с тем - что поп полю id - есть индекс а по полю cat_id - нет?

Увеличит ли скорость работы создание индекса по полю cat_id?
Значения поля, которое явялется индексом должно быть уникальным или нет?
Как это сделать? (база не ляжет?)

Заранее спасибо.
...
Рейтинг: 0 / 0
возможность создания индекса
    #33837711
landy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Версия PG?
...
Рейтинг: 0 / 0
возможность создания индекса
    #33838139
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
twistfireSELECT some_Column WHERE cat_id=4 ORDER BY id DESC OFFSET 300 LIMIT 20;Замените на "ORDER BY cat_id,id". Создайте индекс по комбинации двух полей (cat_id,id). Этот индекс пригодится и в первом из двух запросов.

twistfireСвязано ли это с тем - что поп полю id - есть индекс а по полю cat_id - нет?Связано.

twistfireУвеличит ли скорость работы создание индекса по полю cat_id?Да.

twistfireЗначения поля, которое явялется индексом должно быть уникальным или нет?Не должно.
...
Рейтинг: 0 / 0
возможность создания индекса
    #33839369
twistfire
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
большое спасибо.

А еще вопросик:
создание индекса по двум полям - нужно ли мне удалить старый индекс (просто по полю ид)?

Как создать индекс по двум полям?
Как назначаются и где используются имена индексов? (от балды они называются или нет?)
...
Рейтинг: 0 / 0
возможность создания индекса
    #33841197
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
twistfireсоздание индекса по двум полям - нужно ли мне удалить старый индекс (просто по полю ид)?Индекс по комбинации полей (cat_id,id) полезен в запросах "where cat_id=?" и "where cat_id=? and id=?". Индекс по полю (id) - в запросах "where id=?". Поэтому наличие индекса по (id) оправдано, если есть запросы вида "where id=?".

twistfireКак создать индекс по двум полям? дока create index i_test_catid_id on t_test (cat_id,id)

twistfireКак назначаются и где используются имена индексов? (от балды они называются или нет?)Так же как и названия таблиц, названия индексов придумываются самостоятельно. Используются например в командах create index, drop index.
...
Рейтинг: 0 / 0
возможность создания индекса
    #33842379
twistfire
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
spasibo.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / возможность создания индекса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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