accessandfilter
Jun 07, 2016 pm 04:01 PM
access
표현하다
이것
access:表示这个谓词条件的值将会影响数据的访问路径(表还是索引)。 filter:表示谓词条件的值并不会影响数据访问路径,只起到过滤的作用。 ----创建一张表echo----SQL create table echo as select * from dba_objects;Table created.SQL set autotrace trac
access:表示这个谓词条件的值将会影响数据的访问路径(表还是索引)。
filter:表示谓词条件的值并不会影响数据访问路径,只起到过滤的作用。
----创建一张表echo---- SQL> create table echo as select * from dba_objects; Table created. SQL> set autotrace trace exp; SQL> set linesize 150; SQL> select * from echo where object_id=1000; Execution Plan ---------------------------------------------------------- Plan hash value: 642657756 -------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | -------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 12 | 2484 | 289 (1)| 00:00:04 | |* 1 | TABLE ACCESS FULL| ECHO | 12 | 2484 | 289 (1)| 00:00:04 | -------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 1 - filter("OBJECT_ID"=1000) ----因为表echo没有创建索引,执行计划没有选择数据访问路径的余地,谓词条件在这里只是起到数据过滤的作用,所以使用了filter。 Note ----- - dynamic sampling used for this statement (level=2) ----创建索引的情况---- SQL> create index echo_ind on echo(object_id); Index created. SQL> select * from echo where object_id=1000; Execution Plan ---------------------------------------------------------- Plan hash value: 1345159126 ---------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | ---------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 207 | 2 (0)| 00:00:01 | | 1 | TABLE ACCESS BY INDEX ROWID| ECHO | 1 | 207 | 2 (0)| 00:00:01 | |* 2 | INDEX RANGE SCAN | ECHO_IND | 1 | | 1 (0)| 00:00:01 | ---------------------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 2 - access("OBJECT_ID"=1000) ----谓词条件影响到数据访问的路径,选择了索引,所以用access。 Note ----- - dynamic sampling used for this statement (level=2)
로그인 후 복사
关于access的谓词信息要格外注意,把自己当成优化器,要明白为什么谓词条件会这样影响访问路径。
没有索引就没有选择余地了,那谓词条件一定不会觉得访问路径,那只能是filter的了。对于filter,下面只有一个节点一般仅仅是起到过滤的作用,但是多余两
个节点基本上会涉及到被驱动表可能处于驱动表的循环中,一般可以通过改写sql的方式避免。
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

인기 기사
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
Repo : 팀원을 부활시키는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌

인기 기사
스플릿 소설을이기는 데 얼마나 걸립니까?
3 몇 주 전
By DDD
Repo : 팀원을 부활시키는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
헬로 키티 아일랜드 어드벤처 : 거대한 씨앗을 얻는 방법
3 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
1 몇 주 전
By 尊渡假赌尊渡假赌尊渡假赌

뜨거운 기사 태그

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제
Gmail 이메일의 로그인 입구는 어디에 있나요?
7281
9


자바 튜토리얼
1622
14


Cakephp 튜토리얼
1341
46


라라벨 튜토리얼
1258
25


PHP 튜토리얼
1205
29



Windows 11에서 백그라운드 애플리케이션을 비활성화하는 방법_Windows 11 튜토리얼에서 백그라운드 애플리케이션을 비활성화하는 방법

iPhone에서 카메라 및 마이크에 대한 접근을 허용할 수 없습니다
