Описание тега postgresql-performance

About PostgreSQL query optimisation. Include sufficient information in questions. For complex, advanced questions or if you're looking to tune without modifying queries, ask on https://dba.stackexchange.com/ instead.
1 ответ

Запретить использование индекса для определенного запроса в Postgres

У меня медленный запрос в базе данных Postgres. С помощью explain analyzeЯ вижу, что Postgres выполняет сканирование растровых индексов по двум различным индексам, а затем растровое И по двум результирующим наборам. Удаление одного из индексов делае…
1 ответ

Повторно использовать вычисленное значение выбора

Я пытаюсь использовать ST_SnapToGrid, а затем GROUP BY ячейки сетки (х, у). Вот что я сделал первым: SELECT COUNT(*) AS n, ST_X(ST_SnapToGrid(geom, 50)) AS x, ST_Y(ST_SnapToGrid(geom, 50)) AS y FROM points GROUP BY x, y Я не хочу пересчитывать ST_Sn…
0 ответов

ПОЯСНИТЕ (БУФЕР, АНАЛИЗ), понимая

Я использую PostgreSQL 9.3 Может кто-нибудь помочь мне, что я могу сделать, чтобы улучшить это. Максимальное количество записей в таблице БД составляет от 5000 до 7000, варьируется ежедневно. Параметр shared_buffers в БД PGsql равен 1 ГБ. что здесь …
3 ответа

Есть ли недостатки использования типа данных "текст" для хранения строк?

Согласно документации Postgres, они поддерживают 3 типа данных для символьных данных: character varying(n), varchar(n) variable-length with limit character(n), char(n) fixed-length, blank padded text variable unlimited length В моем приложении я сто…
02 дек '13 в 11:12
1 ответ

PostgreSQL выбирают разные с одинаковым условием

У меня есть большая таблица с несколькими миллионами записей. Каждая запись содержит тип, пришедший из внешнего источника. Я знаю, что количество типов составляет около 100 - 200. Мне нужно получить подмножество типов для поиска подсказки. Мне нужно…
27 фев '17 в 22:18
2 ответа

Почему PostgreSQL не использует мои индексы для небольшой таблицы?

У меня есть следующая таблица в PostgreSQL: CREATE TABLE index_test ( id int PRIMARY KEY NOT NULL, text varchar(2048) NOT NULL, last_modified timestamp NOT NULL, value int, item_type varchar(2046) ); CREATE INDEX idx_index_type ON index_test ( item_…
18 мар '13 в 10:39
1 ответ

Слишком медленный запрос только для 4 таблиц по 50000 строк в каждой

Я боролся в течение нескольких часов, и я не могу найти, почему этот запрос занимает слишком много времени (> 60 минут). Все 4 таблицы имеют менее 50.000 записей. Также, если я удаляю какую-либо таблицу (gel6, gf6 или ger6), выполнение запроса заним…
04 дек '18 в 20:32
1 ответ

Меньше строк и меньше столбцов

В настоящее время я моделирую схему таблицы для PostgreSQL, которая имеет много столбцов и предназначена для хранения большого количества строк. Я не знаю, быстрее ли иметь больше столбцов или разбить данные на большее количество строк. Схема выгляд…
28 окт '15 в 19:36
4 ответа

Postgres НЕ в исполнении

Привет какие-нибудь идеи, как ускорить этот запрос? вход EXPLAIN SELECT entityid FROM entity e LEFT JOIN level1entity l1 ON l.level1id = e.level1_level1id LEFT JOIN level2entity l2 ON l2.level2id = l1.level2_level2id WHERE l2.userid = 'a987c246-65e5…
3 ответа

Есть ли способ ускорить это сканирование кучи Postgres?

База данных новичка здесь. Это мой запрос, я использую Postgres 9.3.5: =# explain analyse SELECT SUM(actual_cost) as cost, SUM(total_items) as num_items, processing_date FROM frontend_items WHERE chemical_id='0501013B0' GROUP BY processing_date; И э…
23 мар '15 в 10:45
2 ответа

Почему postgres работает так медленно, а один запрос - быстрый?

У меня есть функция, чтобы получить сотрудника в статусе "Создать". CREATE OR REPLACE FUNCTION get_probation_contract(AccountOrEmpcode TEXT, FromDate DATE, ToDate DATE) RETURNS TABLE("EmpId" INTEGER, "EmpCode" CHARACTER VARYING, "DomainAccount" CHAR…
17 мар '15 в 03:02
4 ответа

Postgresql игнорирует индекс для столбца метки времени, даже если запрос выполняется быстрее с использованием индекса

На postgresql 9.3 у меня есть таблица с немногим более миллиона записей, таблица была создана как: CREATE TABLE entradas ( id serial NOT NULL, uname text, contenido text, fecha date, hora time without time zone, fecha_hora timestamp with time zone, …
1 ответ

Двунаправленный индекс

Есть ли способ для двунаправленного индекса (для эффективного заказа ASC/DESC)? Вот таблица: CREATE TABLE t1( id VARCHAR NOT NULL PRIMARY KEY, d TIMESTAMP) и есть DESC индекс для d поле: CREATE INDEX d_index ON t1 (d DESC); Так как d_index является …
0 ответов

Оптимизировать миграцию таблицы из csv в pg с помощью самостоятельного обновления

У меня есть CSV размером 1,5 ГБ, содержащий около 11000000 записей, и я заполняю эти данные в таблицу Postgres Что я пробовал до сих пор: set local work_mem = '4000MB'; copy truck_dispatch_logs( old_id,ms_truck_id,issue_date, ms_site_id, ms_product_…
0 ответов

Мониторинг производительности запросов Postgres на производственных серверах

Моя цель здесь состоит в том, чтобы идентифицировать медленные запросы, что можно сделать с помощью медленных журналов запросов, т.е. увеличить время ожидания в postgresql.conf до примерно 100 мс (приемлемое время запроса), а затем идентифицировать …
27 ноя '15 в 10:32
4 ответа

Order BY превращает запрос 30 мс в запрос 7120 мс. Известная проблема производительности?

У меня есть таблица пользователей с записями 1м: User (id, fname, lname, deleted_at, guest) У меня есть следующий запрос, который выполняется на Postgres 9,1 дБ: SELECT "users".* FROM "users" WHERE (users.deleted_at IS NULL) AND (SUBSTRING(lower(fna…
4 ответа

Самый быстрый способ PostgreSQL Различия и Формат

У меня в таблице 3,5 миллиона строк acs_objects и мне нужно получить столбец creation_date с годами только формат и отчетливый. Моя первая попытка: 180~200 Sec (15 Rows Fetched) SELECT DISTINCT to_char(creation_date,'YYYY') FROM acs_objects Моя втор…
2 ответа

Улучшения производительности запросов - фильтры сортировки

Как можно повысить производительность этого запроса: SELECT designs.* FROM designs WHERE designs.state = 'in_stock' ORDER BY designs.grade, id DESC Объясните вывод: Sort (cost=47475.35..47591.91 rows=46621 width=763) Sort Key: grade, id -> Seq Sc…
1 ответ

Postgresql BTREE_GIN индекс с опцией gin_trgm_ops?

На https://www.postgresql.org/docs/current/static/pgtrgm.html объясняется, как можно использовать специальные иды GIN с опцией gin_trgm_ops для повышения производительности оператора подобия триграмм. CREATE INDEX trgm_idx ON test_trgm USING GIN (t …
1 ответ

Медленное выполнение запроса в большом разделе

У меня есть схема БД, которая разделена на поле меток времени, каждый раздел содержит 155 уникальных значений меток времени, и его размер составляет 1,5 ГБ. схема очень проста и включает отметку времени, идентификатор объекта и дополнительные поля (…
31 окт '12 в 15:45