목록 : | pgsql-hackers |
---|
출발 : | "Brendan Hill" |
---|---|
to : | |
제목 : | 쿼리 실행 계획 8.3-> 8.4 |
날짜 : | 2010-05-10 08:09:06 |
메시지 -ID : | 02E201CAF018 $ 1B8542C0 $ 528FC840 $@net |
보기 : | 원시 메시지 | 전체 스레드 | mbox 다운로드 | 이메일 재판용 |
목록 : | pgsql-hackers |
업그레이드 후 특정 스포츠 토토에서 성능이 상당히 낮아지기
8.3-> 8.4 (Windows). 나는 메일에서 빠른 수정을 기대하지 않습니다
목록이지만, 내가 볼 수있는 다른 곳에 대한 징후에 감사드립니다
또는 더 조사하기 위해 사용할 수있는 도구. 아래 세부 사항.
-Brendan
주말에 8.3에서 8.4로 업그레이드 된 Windows 설치 - 데이터베이스
스키마 및 인덱스 등은 동일합니다.
어제 공연. Postgres.conf의 대부분의 성능 설정은
* 증가* 즉. 메모리 할당 등 서버는 일반적으로 잘 실행됩니다.
default_statistics_target은 10-> 100에서 갔다.
다음 스포츠 토토는 8.3에서 5-10 초로 갔다 (마스터 및
슬레이브), 8.4에서 45-60 초 (마스터 및 슬레이브의 경우 동일) :
select note_id, notes.note_type_id, note_types.description as
note_type_description, notes.note_priority_id, note_priorities.description
as as as as as as as as as as as a a a a a a a a a a note_date, text, user_name,
notes.date_created, datediff_hh (notes.date_created, getDate ()) as Hours_old
Notes
내부 조인 jbaccounts on jbaccounts. created_by = jbaccounts.jbaccount_id
왼쪽 OUTER JOIN NOTE_TYPES NOTES.NOTE_TYPE_ID = NOTE_TYPES.NOTE_TYPE_ID
왼쪽 외부 조인 Note_Priorities notes.note_priority_id =
note_priorities.note_priority_id
Where Notes.person_id in (4315565) 및 Notes.person_id in (select
ISNULL (직원 .Person_ID, Business.Main_Person_ID)에서 왼쪽
비즈니스에서 직원을 가입합니다 .Business_id = personnel.business_id where
(1, 4, 8, 5, 9, 6, 7, 2, 3))
notes.date_created에 의해 주문;
(참고 - 보안 자동 응용 프로그램에 하위 스포츠 토토를 사용합니다.
변경 변경 가능하지만 소프트웨어의 주요 구조 조정이 가능합니다. 개선
8.3에서 괜찮으므로 스포츠 토토 실행 계획이 가능해야합니다.
스포츠 토토 플래너는 다음과 같습니다.
"정렬 (비용 = 4583.19..4583.27 행 = 30 너비 = 146)"
"정렬 키 : notes.date_created"
" -> 중첩 루프 (비용 = 0.00..4582.45 행 = 30 너비 = 146)"
" -> 중첩 루프 왼쪽 결합 (비용 = 0.00..4485.29 행 = 30 너비 = 145)"
" -> 중첩 루프 반 결합 (비용 = 0.00..4470.89 행 = 30
너비 = 133) "
" -> 중첩 루프 왼쪽 결합 (비용 = 0.00..61.15 줄 = 30
너비 = 137) "
" -> notes_person_id를 사용한 색인 스캔
(비용 = 0.00..46.75 줄 = 30 너비 = 131) "
"색인 조건 : (person_id = 4315565)"
" -> note_priorities_pkey를 사용한 색인 스캔
note_priorities (비용 = 0.00..0.47 행 = 1 너비 = 10) "
"색인 조건 : (Notes.Note_Priority_id =
note_priorities.note_priority_id) "
" -> 서브 스포츠 토토 스캔"Any_Subquery "(비용 = 0.00..23735.89
행 = 322 너비 = 4) "
"필터 : ("Any_Subquery "."IsNull "= 4315565)"
" -> 왼쪽 결합 (비용 = 0.00..22930.02
행 = 64470 너비 = 8) "
"합병 Cond : (Business.Business_id =
personnel.business_id) "
" -> businesses_pkey를 사용한 색인 스캔
비즈니스 (비용 = 0.00..5546.18 행 = 64470 너비 = 8) "
"필터 : (admin_office_id = Any
( '1,4,8,5,9,6,7,2,3,10':: integer []) ")"
" -> personnel_business_id를 사용한 색인 스캔
직원 (비용 = 0.00..781.32 행 = 25907 너비 = 8) "
" -> note_types_pkey를 사용한 색인 스캔
(비용 = 0.00..0.47 줄 = 1 너비 = 16) "
"색인 조건 : (notes.note_type_id =
note_types.note_type_id) "
" -> jbaccounts에서 jbaccounts_pkey를 사용한 색인 스캔
(비용 = 0.00..3.20 줄 = 1 너비 = 9) "
"색인 조건 : (jbaccounts.jbaccount_id = notes.created_by)"
to :
"정렬 (비용 = 28558.95..28560.74 줄 = 714 너비 = 146)"
"정렬 키 : notes.date_created"
" -> Join의 중첩 루프 (Cost = 26636.50..28525.11 행 = 714 너비 = 146)"
" -> 해시 왼쪽 결합 (비용 = 337.30..2193.78 줄 = 714 너비 = 150)"
"Hash Cond : (notes.note_type_id = note_types.note_type_id)"
" -> 해시 왼쪽 조인 (비용 = 335.91..2188.03 행 = 714
너비 = 138) "
"Hash Cond : (notes.note_priority_id =
note_priorities.note_priority_id) "
" -> 해시 조인 (비용 = 334.82..2183.62 행 = 714
너비 = 132) "
"Hash Cond : (notes.created_by =
jbaccounts.jbaccount_id) "
" -> notes_person_id를 사용한 색인 스캔
(비용 = 0.00..1834.48 줄 = 718 너비 = 130) "
"색인 조건 : (person_id = 4315565)"
" -> 해시 (비용 = 258.81..258.81 줄 = 6081
너비 = 10) "
" -> jbaccounts에서 seq 스캔
(비용 = 0.00..258.81 행 = 6081 너비 = 10) "
" -> HASH (비용 = 1.04..1.04 행 = 4 너비 = 10)"
" -> seq scan on note_priorities (cost = 0.00..1.04
행 = 4 너비 = 10) "
" -> 해시 (비용 = 1.17..1.17 행 = 17 너비 = 16)"
" -> seq scan on note_types (cost = 0.00..1.17 줄 = 17
너비 = 16) "
" -> 구체화 (비용 = 26299.20..26302.42 줄 = 322 너비 = 4)"
" -> 서브 스포츠 토토 스캔"in_subquery "(비용 = 1.22..26298.88
행 = 322 너비 = 4) "
"필터 : ("in_subquery "."IsNull "= 4315565)"
" -> 왼쪽 합병 (비용 = 1.22..25494.35 행 = 64362
너비 = 8) "
"합병 Cond : (Business.Business_id =
personnel.business_id) "
" -> businesses_pkey를 사용한 색인 스캔
비즈니스 (비용 = 0.00..8062.90 행 = 64362 너비 = 8) "
"필터 : (admin_office_id = Any
( '1,4,8,5,9,6,7,2,3,10':: integer []) ")"
" -> personnel_business_id를 사용한 색인 스캔
인원 (비용 = 0.00..917.83 행 = 25855 너비 = 8) "
출발 : | Stephen Frost |
---|---|
to : | Brendan Hill |
CC : | PGSQL-HACKERS (AT) PostGRESQL (DOT) org |
제목 : | Re : 8.3-> 8.4 스포츠 토토 실행 계획 |
날짜 : | 2010-05-12 14:14:53 |
메시지 -ID : | 20100512141453.gr21875@tamriel.snowman.net |
보기 : | 원시 메시지 | 전체 스레드 | mbox 다운로드 | 이메일 재판용 |
목록 : | pgsql-hackers |
Brendan,
* Brendan Hill (Brendanh (at) Jims (Dot) Net)은 다음과 같이 썼습니다.
> 업그레이드 후 특정 스포츠 토토에서 성능이 상당히 낮아지기
>에서 8.3-> 8.4 (Windows). 나는 메일에서 빠른 수정을 기대하지 않습니다
> 목록이지만, 내가 볼 수있는 다른 곳에 대한 징후에 감사드립니다
> 또는 더 조사하기 위해 사용할 수있는 도구. 아래 세부 사항.
우선, 이것은 아마도 -hackers 대신 -성능으로 이동해야합니다.
그리고 결과를 설명하는 것이 훨씬 더 유용 할 것입니다.
그냥 설명하는 것보다.
감사합니다,
Stephen
출발 : | "Kevin Grittner" |
---|---|
to : | "Brendan Hill" |
제목 : | Re : 8.3-> 8.4 스포츠 토토 실행 계획 |
날짜 : | 2010-05-12 14:29:13 |
메시지 -ID : | 4BEA74E90200200250003160A@GW.wicourts.gov |
보기 : | 원시 메시지 | 전체 스레드 | mbox 다운로드 | 이메일 재판용 |
목록 : | pgsql-hackers |
"Brendan Hill"
> 및 notes.person_id in (select
> isnull (직원 .person_id, business.main_person_id)
이것을 존재하는 테스트로 전환 할 수 있습니다.
이 주제에 다시 게시하면 실제로 -성능이 있어야합니다
Stephen이 언급 한대로 목록을 작성 하고이 페이지를 다른 아이디어에 대해 검토하십시오
정보 (하드웨어 및 Postgresql.conf 파일과 같은)
사람들이 문제를 더 잘 이해하도록 도와주세요 :
http://wiki.postgresql.org/wiki/SlowQueryQuestions
-kevin
출발 : | "Brendan Hill" |
---|---|
to : | " 'Kevin Grittner'" |
제목 : | Re : 8.3-> 8.4 스포츠 토토 실행 계획 |
날짜 : | 2010-05-13 00:09:03 |
메시지 -ID : | PostgreSQL : Re : 8.3-> 8.4 토토 사이트 추천 실행 |
보기 : | 원시 메시지 | PostgreSQL : Re : 8.3-> 8.4 스포츠 토토 실행 계획 | mbox 다운로드 | 이메일 재판용 |
목록 : | pgsql-hackers |
조언에 감사드립니다.
GODS,
브렌든 힐
최고 정보 책임자
Jims Group Pty Ltd
48 Edinburgh Rd
Mooroolbark Vic 3138
www.jims.net
모든 JIMS의 경우 IT 문의 : Infotech (at) JIMS (DOT) NET
비상 사태 : 1300 130 490 (intl +61 4 3456 5776)
----- 원본 메시지 -----
From : Kevin Grittner [Mailto : Kevin (Dot) Grittner (at) Wicourts (Dot) Gov]
보낸 : 2010 년 5 월 13 일 목요일 오전 12:29
to : Brendan Hill; pgsql-hackers (at) postgresql (dot) org
제목 : Re : [해커] 8.3-> 8.4의 쿼리 실행 계획
"Brendan Hill"
> 및 notes.person_id in (select
> isnull (직원 .person_id, business.main_person_id)
이것을 존재하는 테스트로 전환 할 수 있습니다.
이 주제에 다시 게시하면 실제로 -성능이 있어야합니다
Stephen이 언급 한대로 목록을 작성 하고이 페이지를 다른 아이디어에 대해 검토하십시오
정보 (하드웨어 및 Postgresql.conf 파일과 같은)
사람들이 문제를 더 잘 이해하도록 도와주세요 :
http://wiki.postgresql.org/wiki/SlowQueryQuestions
-kevin