@tatyana75

Можно ли ускорить запрос SELECT?

Привет.
Нужна помощь знающих, я в индексах 0 .
Есть простейший запрос SELECT * from Table.
В таблице 18 полей, все они мне нужны.
Я пробовала создать индекс на все 18 полей но конечно это не приводит к увеличению производительности.
Используется PostgreSQL15 и PgAdmin.
Реально ли как-то ускорить в этом случае?
Может не индексы, может еще что есть?
  • Вопрос задан
  • 104 просмотра
Пригласить эксперта
Ответы на вопрос 2
mayton2019
@mayton2019
Bigdata Engineer
Есть простейший запрос SELECT * from Table.
...
Реально ли как-то ускорить в этом случае?

Есть много мест в application где может что-то замедлятся . И это не обязательно SQL. Это может
быть веб-приложение, которое медленно отрисовывает таблицу. Или это может быть сетевой канал
который медленно отдает данные. Чтоб заниматься оптимизацией - нужно точно-точно знать где
оптимизировать. Или это будут зря потраченные усилия. Кроме того для UI например важно
получение 1 page вместо того чтобы загружать миллиард строк. Поэтому нужно знать какой %
результата выборки вы хотите использовать сразу (сию секунду) после получения и что
можно отложить на потом. Мой опыт подсказывает что пользователь вообще не воспринимает
информацию больше чем 1 абзац текста. Поэтому разгонять UI для отдачи миллиарда строк
нет никакого смысла.
Ответ написан
Комментировать
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
На сиквеле можно объясняться в любви, а вы уродуете язык. Итак переведу ваш запрос на русский:
Выбери все столбцы и отдай все данные, не используя никаких оптимизаций.

Вот то что вы отправили, и хоть тысячу индексов там будет вам это не поможет.
И это в общем то чихать до 100 000 записей. Их вам отдадут за менее чем секунду, что вы в приложении делать с этим будете?

UPD
Немного поправлю себя. Если не хватает памяти и таблица на диске, экстремально увеличить скорость можно когда таблица будет вся в памяти.

То есть добавляете памяти и база типа должна за счет кэшей все скинуть.
Но есть другой вариант рамдиск https://romantelychko.com/blog/1268/
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы