«postgresql-performance» 태그된 질문

PostgreSQL 쿼리의 성능 문제

4
PostgreSQL 테이블 행의 크기 측정
PostgreSQL 테이블이 있습니다. select *아주 느리지 만 select id멋지고 빠릅니다. 나는 행의 크기가 매우 커서 운송하는 데 시간이 걸리거나 다른 요인 일 수 있다고 생각합니다. 모든 필드 (또는 거의 모든 필드)가 필요하므로 하위 집합 만 선택하는 것이 빠른 해결책은 아닙니다. 원하는 필드를 선택하는 것이 여전히 느립니다. 다음은 테이블 스키마에서 이름을 …

6
"가장 최근에 해당하는 행"을 효율적으로 얻는 방법은 무엇입니까?
매우 일반적인 쿼리 패턴이 있지만 효율적인 쿼리를 작성하는 방법을 모르겠습니다. 다른 테이블의 "행 이후"가장 최근 날짜에 해당하는 테이블의 행을 조회하려고합니다. inventory예를 들어, 특정 날짜에 보유하고있는 재고를 나타내는 표가 있습니다. date | good | quantity ------------------------------ 2013-08-09 | egg | 5 2013-08-09 | pear | 7 2013-08-02 | egg | 1 …

2
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 offer.offer_day from offer inner join province on offer.id_province = province.id_province inner join center cr on cr.id_cr = province.id_cr where …

2
IN이 큰 Postgres 쿼리 최적화
이 검색어는 내가 팔로우 한 사람들이 작성한 게시물 목록을 가져옵니다. 무제한의 사람들을 팔로우 할 수 있지만 대부분의 사람들은 <1000 명을 따릅니다. 이 스타일의 쿼리를 사용하면 "Post"ID 를 캐시하는 것이 분명 최적화 되지만 불행히도 지금은 그럴 시간이 없습니다. EXPLAIN ANALYZE SELECT "Post"."id", "Post"."actionId", "Post"."commentCount", ... FROM "Posts" AS "Post" INNER JOIN …

2
범위 유형에서 정확한 동등성으로 인해 잘못된 쿼리 계획을 처리하는 방법은 무엇입니까?
tstzrange변수 에서 정확한 동등성이 필요한 업데이트를 수행하고 있습니다. ~ 1M 행이 수정되고 쿼리는 ~ 13 분이 걸립니다. 의 결과는 여기 에서 EXPLAIN ANALYZE볼 수 있으며 실제 결과는 쿼리 플래너가 추정 한 결과와 매우 다릅니다. 문제는 인덱스 스캔시 단일 행이 리턴 될 것으로 예상한다는 것입니다.t_range 이것은 범위 유형에 대한 통계가 다른 …


1
날짜를 이용한 인덱스 최적화
PostgreSQL 9.0.8에는 큰 객체 테이블 (15M + 행)이 있는데 구식 필드를 쿼리하려고합니다. 확장 성 및 동시성 목적으로 쿼리를 수백만으로 나누고 며칠 전 날짜가 updated_at 필드 인 모든 데이터를 가져오고 싶습니다. 백만 개의 ID로 많은 색인과 쿼리를 시도했지만 Heroku의 Ronin 하드웨어로 100 초 미만의 성능을 얻을 수없는 것 같습니다. 가능한 한 …

1
인덱스 : 노드 수가 동일한 경우 정수 대 문자열 성능
PostgreSQL (9.4) 데이터베이스를 사용하여 Ruby on Rails에서 응용 프로그램을 개발 중입니다. 내 유스 케이스의 경우 응용 프로그램의 전체 지점이 모델에서 매우 특정한 속성을 검색하므로 테이블의 열이 매우 자주 조회됩니다. 내가 현재 사용할지 여부를 결정하고 integer(예를 들어, 일반적인 스트링 타입 사용 단순히 유형을하거나 character varying(255), 레일의 기본이다 나는 확실히 성능 차이가 …


1
INSERT 만 수신하는 테이블에서 VACUUM을 실행하는 것이 가치가 있습니까?
이 질문은 데이터베이스 관리자 스택 Exchange에서 답변을 얻을 수 있기 때문에 스택 오버플 로 에서 마이그레이션 되었습니다. 3 년 전에 마이그레이션 되었습니다 . 2015 년 re : Invent 강연에서 AWS는 업데이트 또는 삭제 후뿐만 아니라 삽입 후 진공도 실행해야한다고 언급했습니다. 대화의 관련 부분은 다음과 같습니다. http://www.youtube.com/watch?v=tZXp19q8RFo&t=16m2s 인서트 만받은 경우에도 블록에 …

1
log_min_duration_statement 설정이 무시됩니다
Postgresql 9.1우분투에서 뛰고 있습니다. 정확한 Postgresql 버전은 9.1+129ubuntu1패키지 관리자가 보여주는 것과 같습니다. 적극적으로 사용중인 2 개의 데이터베이스가 있으며 원격 서버에서 사용됩니다. 실행 시간이 긴 쿼리를 기록하고 싶습니다. 그래서 /etc/postgresql/9.1/main/postgresql.conf파일에 다음 매개 변수를 설정했습니다. log_min_duration_statement = 10000 log_statement = 'mod' 따라서 Postgresql은 10 초 이상 걸리는 쿼리를 기록합니다. 그러나 reloadpostgres 구성시 …

1
이 LEFT JOIN이 LEFT JOIN LATERAL보다 성능이 나쁜 이유는 무엇입니까?
Sakila 데이터베이스에서 가져온 다음 테이블이 있습니다. 영화 : film_id는 pkey입니다 배우 : actor_id는 pkey입니다 film_actor : film_id 및 actor_id는 film / actor의 핵심 요소입니다. 특정 영화를 선택하고 있습니다. 이 영화에서는 모든 배우가 그 영화에 참여하기를 원합니다. 이에 대한 두 가지 쿼리가 있습니다. 하나는 a LEFT JOIN와 하나는 a LEFT JOIN …

2
PostgreSQL에서 GIN 인덱스를 사용할 때 ORDER BY 정렬 속도를 높이는 방법은 무엇입니까?
나는 이와 같은 테이블을 가지고있다 : CREATE TABLE products ( id serial PRIMARY KEY, category_ids integer[], published boolean NOT NULL, score integer NOT NULL, title varchar NOT NULL); 제품은 여러 범주에 속할 수 있습니다. category_ids열에는 모든 제품 카테고리의 ID 목록이 있습니다. 일반적인 검색어는 다음과 같습니다 (항상 단일 카테고리 검색). SELECT …

2
큰 테이블에서 느린 인덱스 스캔
PostgreSQL 9.2를 사용하면 비교적 큰 테이블 (2 억 + 백만 행)에서 느린 쿼리로 인해 문제가 발생합니다. 나는 미친 것을 시도하지 않고 역사적인 가치를 추가합니다. 아래는 쿼리 및 쿼리 계획 출력입니다. 내 테이블 레이아웃 : Table "public.energy_energyentry" Column | Type | Modifiers -----------+--------------------------+----------------------------------------------------------------- id | integer | not null default nextval('energy_energyentry_id_seq'::regclass) …

1
pgAdmin은 모든 원격 작업에서 매우 느립니다.
로컬 pgAdmin에서 dev 서버에 원격으로 연결 하여이 쿼리를 실행합니다. select * from users order by random() limit 1; 17 초 동안 멈추고 Total query runtime: 148 ms. 1 row retrieved. 테이블을 마우스 오른쪽 버튼으로 클릭해도 모든 작업이 중단됩니다. 그런 다음 RDP를 통해 연결하고 동일한 pgAdmin 버전에서 동일한 쿼리를 실행하여 결과를 …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.