accessandfilter
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 までご連絡ください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事
R.E.P.O.説明されたエネルギー結晶と彼らが何をするか(黄色のクリスタル)
2週間前
By 尊渡假赌尊渡假赌尊渡假赌
レポ:チームメイトを復活させる方法
4週間前
By 尊渡假赌尊渡假赌尊渡假赌
ハローキティアイランドアドベンチャー:巨大な種を手に入れる方法
3週間前
By 尊渡假赌尊渡假赌尊渡假赌
スプリットフィクションを打ち負かすのにどれくらい時間がかかりますか?
3週間前
By DDD
R.E.P.O.ファイルの保存場所:それはどこにあり、それを保護する方法は?
3週間前
By DDD

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック
Gmailメールのログイン入り口はどこですか?
7315
9


Java チュートリアル
1625
14


CakePHP チュートリアル
1348
46


Laravel チュートリアル
1260
25


PHP チュートリアル
1207
29



Windows 11 でバックグラウンド アプリケーションを無効にする方法_バックグラウンド アプリケーションを無効にする Windows 11 チュートリアル

Java リフレクション メカニズムはクラスの動作をどのように変更しますか?
