Windows版 Oracle 9iで、下記のSQLを実行した値で質問なのですが・・・
<<SQL>>
Select name, value from V$SYSSTAT where name like 'table%';
<<SQL結果>>
NAME VALUE
---------------------------------------------------------------- ----------
table scans (short tables) 41298
table scans (long tables) 171
table scans (rowid ranges) 0
table scans (cache partitions) 0
table scans (direct read) 0
table scan rows gotten 151275758
table scan blocks gotten 11959596
table fetch by rowid 23079146
table fetch continued row 1048
table lookup prefetch client count 0
Webで検索すると、
Full Scan率は「table scans (long tables) / ( table scans (short tables)+table scans (long tables) )」とあったり、
「table fetch by rowid < table scan rows gotten」は頻繁にFull Scanしている状態とあって、「table scan rows gotten」がFull Scanの行数に思えるですが、実測した下記の値からは違うように思えるのですが、どのように解釈すれば良いのでしょうか?
table scans (short tables) 41298
table scans (long tables) 171
----
table scan rows gotten 151275758
table fetch by rowid 23079146
No.2ベストアンサー
- 回答日時:
こんにちわ。
> 何回のFullScanの結果として読み込んだ行数が
> 「table scan rows gotten 151275758」で、
> Full Scanの総数 = table scans (short tables) +
> table scans (long tabels)と考えて良いのでしょうか?
Oracle のマニュアル (9.2 リファレンス) を見るとその解釈で良さそうです。
以下のURL で、9.2 リファレンスが参照できます。
http://otndnld.oracle.co.jp/document/oracle9i/92 …
参考URL:http://otndnld.oracle.co.jp/document/oracle9i/92 …
No.1
- 回答日時:
こんにちわ。
> ・・・下記の値からは違うように思えるのですが、・・・
table scans (short tables), table scans (long tables) は共に
Full Scan が実行された回数です。
Oracle は、一定以上大きなテーブルをSelect した時に、1回のSelect で
他のBuffer Cache を追い出してしまわないようにCache しないように
なっています。
table scans (short tables) は、Buffer Cache にCache されるような
小さいテーブルに対するFull Scan の回数で、
table scans (long tabels) は、Buffer Cache にCache されないような
大きなテーブルに対するFull Scan の回数です。
ご回答ありがとうございます。
追加の質問で申し訳ないですが・・・
何回のFullScanの結果として読み込んだ行数が「table scan rows gotten 151275758」で、
>table scans (short tables) は、Buffer Cache にCache されるような
>小さいテーブルに対するFull Scan の回数で、
>table scans (long tabels) は、Buffer Cache にCache されないような
>大きなテーブルに対するFull Scan の回数です。
Full Scanの総数 = table scans (short tables) + table scans (long tabels)と考えて良いのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- MySQL SHOW CREATE TABLE posts;これって何ですか? 3 2022/08/28 22:57
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- MySQL my_itemsテーブルのIDにAUTO_INCREMENT を追加ができるかで 1 2023/01/03 09:09
- 英語 和訳お願いします 3 2022/10/09 07:13
- MySQL テーブル作成です。どこかのスペルが間違っているか記号など スペースかな? 1 2022/10/01 05:08
- MySQL MySQLのテーブル作成でハイフン - は使用できないのでしょうか? 2 2022/10/21 16:50
- MySQL 何にかが違うから エラーなんでしょうね! 2 2022/09/18 05:28
- Excel(エクセル) エクセル マクロ A列の <table> ~ </table>までを C列に抜き出したい 6 2023/04/01 01:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CLOB型へのINSERT
-
count(1)とcount(*)の違い
-
複数テーブルのUPDATE
-
oracle sqlで先頭の1件を取得
-
1つのテーブル・2つの列を結合...
-
テーブル名を[]でくくらないと...
-
truncate文で全テーブルを一気...
-
Oracle9i v$sysstatの解釈
-
Data Pump で大量データインポ...
-
データを削除しても表領域の使...
-
accessでイベントを中止するよ...
-
INDEXの無効化
-
Viewにインデックスは張れ...
-
カラムの存在チェック
-
SQLでスキーマ名(所有者名)の...
-
検索結果の列数を動的に変更したい
-
異なるスキーマからデータを抽...
-
DELETE文でFROM句を省略した場合
-
大量データの取得処理について
-
可変個数のデータはどう納める?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CLOB型へのINSERT
-
truncate文で全テーブルを一気...
-
count(1)とcount(*)の違い
-
1つのテーブル・2つの列を結合...
-
テーブル名を[]でくくらないと...
-
主キーが二つのテーブルのselec...
-
複数テーブルのUPDATE
-
Oracle テーブルの列削除
-
oracleのプライマリ・キー名の変更
-
グループの数を取得したい
-
oracle sqlで先頭の1件を取得
-
マンションのベランダでお酒の...
-
sqlplusで実行したSQLの結果を...
-
alter table でチェックボック...
-
Oracle複数の表をもとにmerge文...
-
ある英語の問題のコト
-
CASCADE CONSTRAINTSについて
-
ローマ字入力の文字リスト
-
create table as select
-
SQL2005 のクエリ文について
おすすめ情報