Вопросы с тегом «postgresql-performance»

Проблемы с производительностью запросов PostgreSQL

83
Измерьте размер строки таблицы PostgreSQL

У меня есть таблица PostgreSQL. select *очень медленно, в то время select idкак приятно и быстро. Я думаю, что это может быть из-за того, что размер строки очень велик, и для транспортировки требуется время, или это может быть какой-то другой фактор. Мне нужны все поля (или почти все), поэтому...

53
Как эффективно получить «самую последнюю соответствующую строку»?

У меня есть шаблон запроса, который должен быть очень распространенным, но я не знаю, как написать эффективный запрос для него. Я хочу посмотреть строки таблицы, которые соответствуют «самой последней дате, а не после» строк другой таблицы. У меня есть таблица, inventoryскажем, которая представляет...

36
Применяются ли предложения WHERE в том порядке, в котором они написаны?

Я пытаюсь оптимизировать запрос, который просматривает большую таблицу (37 миллионов строк) и задает вопрос о том, в каком порядке выполняются операции в запросе. select 1 from workdays day where day.date_day >= '2014-10-01' and day.date_day <= '2015-09-30' and day.offer_id in ( select...

30
Оптимизация запроса Postgres с большим IN

Этот запрос получает список сообщений, созданных людьми, на которых вы подписаны. Вы можете следить за неограниченным числом людей, но большинство людей следуют <1000 других. При таком стиле запросов очевидной оптимизацией будет кэширование "Post"идентификаторов, но, к сожалению, сейчас у меня...

28
Как справиться с неправильным планом запроса, вызванным точным равенством по типу диапазона?

Я выполняю обновление, где мне требуется точное равенство для tstzrangeпеременной. Изменено ~ 1M строк, а запрос занимает ~ 13 минут. Результат EXPLAIN ANALYZEможно увидеть здесь , и фактические результаты чрезвычайно отличаются от тех, которые оцениваются планировщиком запросов. Проблема...

28
Обновляет ли строка с тем же значением фактическое обновление строки?

У меня есть вопрос, связанный с производительностью. Допустим, у меня есть пользователь с именем Майкл. Возьмите следующий запрос: UPDATE users SET first_name = 'Michael' WHERE users.id = 123 Будет ли запрос фактически выполнять обновление, даже если оно обновляется до того же значения? Если так,...

27
Оптимизация индекса с датами

Этот вопрос был перенесен из переполнения стека, поскольку на него можно ответить в Exchange Stack Exchange для администраторов баз данных. Мигрировал 7 лет назад . У меня есть большая таблица объектов (15M + строка) в PostgreSQL 9.0.8, для которой я хочу запросить устаревшее поле. Я хочу...

26
Индексы: целое число против производительности строки, если число узлов одинаково

Я занимаюсь разработкой приложения на Ruby on Rails с базой данных PostgreSQL (9.4). Для моего варианта использования столбцы в таблицах будут просматриваться очень часто, поскольку весь смысл приложения заключается в поиске очень специфических атрибутов в модели. В настоящее время я решаю,...

23
ВЫБЕРИТЕ DISTINCT на нескольких столбцах

Предположим, у нас есть таблица с четырьмя столбцами (a,b,c,d)одного типа данных. Можно ли выбрать все отдельные значения в данных в столбцах и вернуть их в виде одного столбца, или мне нужно создать функцию для достижения этой...

19
Стоит ли запускать VACUUM на столе, который получает только INSERT?

В выступлении 2015 года re: Invent AWS упомянул, что вакуум должен запускаться не только после обновлений или удалений, но и после вставок. Вот соответствующая часть разговора: http://www.youtube.com/watch?v=tZXp19q8RFo&t=16m2s Предположительно, существует некоторая очистка, которая должна быть...

15
Параметр log_min_duration_statement игнорируется

Я бегу Postgresql 9.1на Ubuntu. Точная версия Postgresql, 9.1+129ubuntu1как показывает мой менеджер пакетов. У меня есть 2 базы данных, которые активно используются, и они используются с удаленного сервера. Я хочу регистрировать запросы, которые имеют длительное время выполнения. Поэтому я...

13
Почему этот LEFT JOIN работает намного хуже, чем LEFT JOIN LATERAL?

У меня есть следующие таблицы (взяты из базы данных Sakila): film: film_id это pkey actor: actor_id - это pkey film_actor: film_id и actor_id - это ключи к фильму / актеру Я выбираю конкретный фильм. Для этого фильма я также хочу, чтобы все актеры участвовали в этом фильме. У меня есть два запроса...

13
Как ускорить сортировку ORDER BY при использовании индекса GIN в PostgreSQL?

У меня есть такая таблица: CREATE TABLE products ( id serial PRIMARY KEY, category_ids integer[], published boolean NOT NULL, score integer NOT NULL, title varchar NOT NULL); Продукт может принадлежать нескольким категориям. category_idsстолбец содержит список идентификаторов всех категорий...

12
Много столбцов против нескольких таблиц - с точки зрения производительности

Да, я знаю, что нормализация данных должна быть моим приоритетом (как есть). У меня есть таблица с 65 столбцами , хранящих данные транспортного средства с колоннами: used_vehicle, color, doors, mileage, priceи так далее, в общей сложности 65. Теперь, я могу разделить это и есть Vehicleтаблица,...

12
Медленное сканирование индекса в большой таблице

Используя PostgreSQL 9.2, у меня проблемы с медленными запросами к относительно большой таблице (более 200 миллионов строк). Я не делаю ничего сумасшедшего, просто добавляю исторические ценности. Ниже приведен запрос и вывод плана запроса. Моя таблица раскладок: Table "public.energy_energyentry"...

10
Запрос PostgreSQL очень медленный при добавлении подзапроса

У меня есть относительно простой запрос к таблице с 1,5M строк: SELECT mtid FROM publication WHERE mtid IN (9762715) OR last_modifier=21321 LIMIT 5000; EXPLAIN ANALYZE вывод: Limit (cost=8.84..12.86 rows=1 width=8) (actual time=0.985..0.986 rows=1 loops=1) -> Bitmap Heap Scan on publication...

10
pgAdmin работает крайне медленно при любой удаленной операции

Я запускаю этот запрос из моего локального pgAdmin, подключаясь удаленно к нашему dev-серверу: select * from users order by random() limit 1; он висит на 17 секунд и показывает Total query runtime: 148 ms. 1 row retrieved. он также зависает при любой операции: даже при щелчке правой кнопкой мыши на...

10
как использовать индекс для ускорения сортировки в postgres

Я использую Postgres 9.4. Схема messagesимеет следующую схему: сообщения принадлежат feed_id, и имеет posts_at, также сообщения могут иметь родительское сообщение (в случае ответов). Table "public.messages" Column | Type | Modifiers...

9
Медленное время запроса на поиск сходства с индексами pg_trgm

Мы добавили два индекса pg_trgm в таблицу, чтобы включить нечеткий поиск по адресу электронной почты или имени, так как нам нужно найти пользователей по имени или адресам электронной почты, которые были написаны с ошибками при регистрации (например, «@ gmail.con»). ANALYZEбыл запущен после создания...

8
Оптимизация запросов по диапазону временных отметок (один столбец)

Я использую Postgres 9.3 через Heroku. У меня есть таблица «трафик» с 1M + записями, которая имеет много вставок и обновлений каждый день. Мне нужно выполнить операции SUM по всей этой таблице за разные промежутки времени, и эти вызовы могут занять до 40 секунд, и я хотел бы услышать предложения о...