Вопросы по теме 'postgresql-performance'

Есть ли недостатки использования текста типа данных для хранения строк?
Согласно Документация PostgreSQL , они поддерживают 3 типа данных для символьных данных: character varying(n), varchar(n) variable-length with limit character(n), char(n) fixed-length, blank padded text...
11661 просмотров

Внутреннее соединение для двух таблиц - с предикатами на большой таблице
Postgresql 9.3 У меня есть две таблицы data_prf с 200.000 и data_prf_norm с 22M записей. SELECT n.k AS code, count(n.k) AS total FROM data_prf p INNER JOIN data_prf_norm n ON (p.data_prf_id = n.data_prf_id) WHERE (n.questionid = 5) AND...
898 просмотров

Медленные запросы Postgres 9.3, снова
Это ответ на вопрос Медленные запросы Postgres 9.3 . Новые индексы определенно помогают. Но иногда мы видим, что на практике запросы выполняются намного медленнее, чем когда мы запускаем EXPLAIN ANALYZE. Вот пример, запущенный в производственной...
479 просмотров

Как я могу ускорить это ОБНОВЛЕНИЕ PostgreSQL из sql-запроса? В настоящее время для завершения работы требуется несколько дней
Как я могу ускорить выполнение PostgreSQL UPDATE FROM sql-запроса ниже? В настоящее время для завершения работы требуется несколько дней. UPDATE import_parts ip SET part_part_id = pp.id FROM parts.part_parts pp WHERE pp.upc = ip.upc AND (ip.status...
137 просмотров

Почему следующее соединение значительно увеличивает время запроса?
У меня есть звездообразная схема, я запрашиваю таблицу фактов и хочу присоединиться к одной очень маленькой таблице измерений. Я не могу объяснить следующее: EXPLAIN ANALYZE SELECT COUNT(impression_id), imp.os_id FROM bi.impressions imp...
1064 просмотров

Производительность запросов с конкатенацией и LIKE
Может ли кто-нибудь объяснить разницу в производительности между этими тремя запросами? concat() функция: explain analyze select * from person where (concat(last_name, ' ', first_name, ' ', middle_name) like '%Ива%'); Seq Scan on person...
8815 просмотров

Как ускорить сложный запрос в Postgresql
Как ускорить выполнение следующего запроса? только для извлечения 37 записей потребовалось 65 секунд. Любое решение, ребята? (Я использую PostgreSQL 9.1.6 на x86_64-unknown-linux-gnu, скомпилированный gcc (GCC) 4.4.6 20120305 (Red Hat 4.4.6-4),...
161 просмотров
schedule 04.05.2022

Как вставить результат распараллеленного запроса SELECT в таблицу в Postgresql?
Согласно https://www.postgresql.org/docs/current/static/when-can-parallel-query-be-used.html , «Даже если в целом возможно создание параллельных планов запросов, планировщик не будет генерировать их для данного запроса, если выполняется любое...
571 просмотров
schedule 30.04.2022

Столбец ORDER BY из правой таблицы LEFT OUTER JOIN
У меня серьезные проблемы с производительностью при использовании LEFT OUTER JOIN и попытке использовать столбец в правой таблице в Postgres. У меня есть таблица пользователей и таблица с online_users, в которой перечислены идентификаторы...
1211 просмотров

Оптимизация GROUP BY + COUNT DISTINCT для невложенного столбца jsonb
Я пытаюсь оптимизировать запрос в Postgres, но безуспешно. Вот моя таблица: CREATE TABLE IF NOT EXISTS voc_cc348779bdc84f8aab483f662a798a6a ( id SERIAL, date TIMESTAMP, text TEXT, themes JSONB, meta JSONB, canal VARCHAR(255), source...
212 просмотров

Почему этот запрос такой медленный? - PostgreSQL - выбор из SERIAL, TIMESTAMP и NUMERIC(6,2)
Это моя таблица measurement_pm2_5 : CREATE TABLE public.measurement_pm2_5 ( sensor_id SERIAL, measurement_time TIMESTAMP WITHOUT TIME ZONE NOT NULL, measurement_value NUMERIC(6,2) NOT NULL, CONSTRAINT measurement_pm2 Hash Join...
128 просмотров

Дальнейшая оптимизация полнотекстового поиска Postgres на облачном сервере
Я запускаю Postgres 9.1 на облачном сервере (который, как я знаю, далек от идеала, мы надеемся мигрировать в какой-то момент в этом году). Этот сервер часто выполняет полнотекстовые запросы к таблице с более чем 3 миллионами записей. Вот пример...
692 просмотров

планировщик запросов неточно выбирает вложенное соединение
У меня это от EXPLAIN ANALYZE -> Nested Loop (cost=2173.66..30075.48 rows=77 width=4) (actual time=30.949..399.463 rows=95959 loops=1) Таким образом, разница между ожидаемыми строками и фактическими строками составляет...
505 просмотров

Запрос со многими самостоятельными соединениями выполняется медленно
У меня есть запрос, который включает в себя множество соединений с одной и той же таблицей, в которой хранятся данные о лидах. В кампаниях, в которых у меня много потенциальных клиентов (5 тыс.), запросы выполняются очень медленно. К вашему...
203 просмотров

Медленное обновление с помощью ST_Contains()
UPDATE tbl SET city=s.city_name FROM shp AS s WHERE ST_CONTAINS(s.city_geom,geom); С помощью приведенного выше кода я могу добавить точный город в точку GPS. Он работает около 45-50 минут на 50 миллионов строк. В таблице «Города» около 4000...
1174 просмотров

Как понять EXPLAIN ANALYZE
Я не очень хорошо знаком с результатами EXPLAIN ANALYZE, у меня огромная проблема с тем, что мои запросы слишком медленные. Я попытался прочитать о том, как интерпретировать результаты запросов объяснения, но я до сих пор не знаю, что мне следует...
32036 просмотров

Эффективный запрос одной строки в огромной таблице временных рядов каждые 15 минут
У меня есть две таблицы, conttagtable (t) и contfloattable (cf). T имеет около 43 тыс. строк. CF имеет более 9 миллиардов долларов. Я создал индекс для обеих таблиц в столбце tagindex в обеих таблицах. Этот столбец можно рассматривать как...
4173 просмотров

Postgresql: внутреннее соединение занимает 70 секунд
У меня есть две таблицы - Таблица A: строки 1 ММ, AsOfDate, Id, BId (внешний ключ к таблице B) Таблица B: 50 тыс. строк, идентификатор, флаг, ValidFrom, ValidTo Таблица A содержит несколько записей за день между 01.01.2011 и 31.12.2011 по 100...
2171 просмотров

Запрос PostgreSQL занимает слишком много времени
У меня есть база данных с несколькими сотнями миллионов строк. Я запускаю следующий запрос: select * from "Payments" as p inner join "PaymentOrders" as po on po."Id" = p."PaymentOrderId" inner join "Users" as u On u."Id" = po."UserId" INNER JOIN...
19999 просмотров

Способ попробовать несколько SELECT, пока не будет доступен результат?
Что делать, если я хочу найти одну строку в таблице с уменьшающейся точностью, например. как это: SELECT * FROM image WHERE name LIKE 'text' AND group_id = 10 LIMIT 1 Когда это не дает мне результата, попробуйте это: SELECT * FROM image...
379 просмотров