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ランキング
-
テーブル名を[]でくくらないと...
-
Oracle複数の表をもとにmerge文...
-
truncate文で全テーブルを一気...
-
複数テーブルのUPDATE
-
CLOB型へのINSERT
-
インラインビューの更新権限に...
-
alter table でチェックボック...
-
count(1)とcount(*)の違い
-
あるデータベースの表を全部消...
-
Oracle上のテーブルからCREATE ...
-
CREATE TABLE文でのデータ型の確認
-
Viewにインデックスは張れ...
-
データを削除しても表領域の使...
-
ORA-00959: 表領域'****'は...
-
ACCESS 複数テーブル・複数フィ...
-
postgreSQLのint型は桁数指定が...
-
DELETE文でFROM句を省略した場合
-
異なるスキーマからデータを抽...
-
アナライズとインデックス作成...
-
SQLでスキーマ名(所有者名)の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CLOB型へのINSERT
-
truncate文で全テーブルを一気...
-
count(1)とcount(*)の違い
-
テーブル名を[]でくくらないと...
-
Oracle複数の表をもとにmerge文...
-
oracle sqlで先頭の1件を取得
-
Oracle上のテーブルからCREATE ...
-
oracleのプライマリ・キー名の変更
-
複数テーブルのUPDATE
-
1つのテーブル・2つの列を結合...
-
SQLのto_char関数の未定義エラー
-
Oracle テーブルの列削除
-
グループの数を取得したい
-
インラインビューの更新権限に...
-
sqlplusで実行したSQLの結果を...
-
alter table でチェックボック...
-
主キーが二つのテーブルのselec...
-
あるデータベースの表を全部消...
-
CASCADE CONSTRAINTSについて
-
Oracle9i v$sysstatの解釈
おすすめ情報