Запитання з тегом «postgresql-performance»

Проблеми з ефективністю запитів PostgreSQL

4
Виміряйте розмір рядка таблиці PostgreSQL
У мене є таблиця PostgreSQL. select *дуже повільно, а select idприємно і швидко. Я думаю, що може бути, що розмір ряду дуже великий, і це потребує певного часу для транспортування, або це може бути якийсь інший фактор. Мені потрібні всі поля (або майже всі), тому вибір лише підмножини не є …

6
Як я ефективно отримую "останній відповідний рядок"?
У мене є схема запитів, яка повинна бути дуже поширеною, але я не знаю, як написати ефективний запит для цього. Я хочу переглянути рядки таблиці, які відповідають "найновішій даті не після" рядків іншої таблиці. inventoryСкажімо, у мене є таблиця, яка представляє інвентар, який я тримаю в певний день. date | …

2
Чи застосовуються ДЕРЖАВНІ пропозиції в порядку, в якому вони записані?
Я намагаюся оптимізувати запит, який заглядає у велику таблицю (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 offer.offer_day from offer inner join province on …

2
Оптимізація запиту Postgres з великим IN
Цей запит отримує список публікацій, створених людьми, яких ви стежите. Ви можете стежити за необмеженою кількістю людей, але більшість людей наслідують <1000 інших. З цим стилем запитів очевидною оптимізацією було б кешування "Post"ідентифікаторів, але, на жаль, зараз у мене немає часу на це. EXPLAIN ANALYZE SELECT "Post"."id", "Post"."actionId", "Post"."commentCount", ... …

2
Як обробити поганий план запитів, викликаний точною рівністю за типом діапазону?
Я здійснюю оновлення, де мені потрібна точна рівність tstzrangeзмінної. ~ 1М рядків змінено, і запит займає ~ 13 хвилин. Результат EXPLAIN ANALYZEможна побачити тут , а фактичні результати сильно відрізняються від результатів, оцінених планувальником запитів. Проблема полягає в тому, що сканування індексу t_rangeочікує повернення одного рядка. Це, мабуть, пов'язане з …

4
Чи оновлення рядка з тим самим значенням насправді оновлює рядок?
У мене є питання щодо продуктивності. Скажімо, у мене є користувач з прізвищем Майкл. Візьміть наступний запит: UPDATE users SET first_name = 'Michael' WHERE users.id = 123 Чи справді запит виконає оновлення, навіть якщо воно оновлюється до однакового значення? Якщо так, то як я можу запобігти цьому?

1
Оптимізація індексу з датами
Це запитання було перенесено із переповнення стека, оскільки на нього можна відповісти в Адміністраторі баз даних Stack Exchange. Мігрували 7 років тому . У мене є велика таблиця об’єктів (15M + рядок) у PostgreSQL 9.0.8, для якої я хочу запитувати застаріле поле. Я хочу розділити запит на мільйони, з метою …

1
Індекси: продуктивність від цілого до рядка, якщо кількість вузлів однакове
Я розробляю додаток в Ruby on Rails за допомогою бази даних PostgreSQL (9.4). У моєму випадку використання стовпці в таблицях будуть шукатися дуже часто, оскільки вся точка програми шукає дуже конкретні атрибути на моделі. Наразі я вирішую, чи використовувати integerтип або просто використовувати типовий тип рядка (наприклад character varying(255), типовим …

5
ВИБІРТЕ ДИСТИНЦТ у кількох стовпцях
Припустимо, у нас є таблиця з чотирма стовпцями (a,b,c,d)одного типу даних. Чи можливо вибрати всі окремі значення в межах даних у стовпцях і повернути їх як єдиний стовпець чи мені потрібно створити функцію для досягнення цього?

1
Чи варто запускати VACUUM на столі, який отримує тільки ВСТАВКИ?
У розмові про перегляд винагороди у 2015 році AWS зазначав, що вакуум слід запускати не тільки після оновлень чи видалення, але й після вставок. Ось відповідна частина бесіди: http://www.youtube.com/watch?v=tZXp19q8RFo&t=16m2s Імовірно, є деяке очищення, яке потрібно зробити на блоках, навіть якщо вони отримали лише вставки, і це очищення можна зробити або …

1
налаштування log_min_duration_statement ігнорується
Я бігаю Postgresql 9.1на Ubuntu. Точна версія Postgresql, 9.1+129ubuntu1як показує мій менеджер пакунків. У мене є 2 бази даних, які активно використовуються, і вони використовуються з віддаленого сервера. Я хочу реєструвати запити, які мають тривалий час виконання. Тому я встановив у /etc/postgresql/9.1/main/postgresql.confфайлі такі параметри log_min_duration_statement = 10000 log_statement = 'mod' …

1
Чому ця ліва приєднана працює набагато гірше, ніж ЛІВНЕ ПРИЄДНАЙТЕСЬ ЛАТЕРАЛ?
У мене є такі таблиці (взяті з бази даних Sakila): фільм: film_id є pkey актор: glum_id - це кек film_actor: film_id та act_id - фійки для фільму / актора Я підбираю конкретний фільм. Для цього фільму я також хочу всіх акторів, які беруть участь у цьому фільмі. У мене є …

2
Як пришвидшити ПОРЯДОК сортування при використанні 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стовпець містить список ідентифікаторів усіх категорій товару. Типовий запит виглядає приблизно так (завжди в пошуках однієї категорії): SELECT …

2
Повільне сканування індексу у великій таблиці
Використовуючи PostgreSQL 9.2, у мене виникають проблеми з повільними запитами щодо відносно великої таблиці (200+ мільйонів рядків). Я не намагаюся нічого божевільного, просто додаю історичні цінності. Нижче наведено запит та вихідний план запиту. Моя таблиця: Table "public.energy_energyentry" Column | Type | Modifiers -----------+--------------------------+----------------------------------------------------------------- id | integer | not null default …

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.