A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
Free,Usede(Used?)は、PCT FREE,PCT USEDのことでしょうか?
そうであれば、適正値を判断するのは難しくなります。
詳しいことは、Oracleのマニュアル(データベース、チューニング)を読んでいただくとして、簡単に説明すると、PCT FREEは、あとからUPDATEコマンドを使ってデータを更新するときに、データ量が増えることがありますよね。(たとえば、VARCHAR2の列で、空白だった列を50文字ぐらいの文字列にするなど)当然それだけの容量が新たに必要になるのですが、そのようなときのためのあらかじめとっておくための空きの容量です。具体的にはパーセントで示しますので、データベースの容量にPCT FREEをかければあらかじめあけておく量となります。もし、この容量が小さすぎてあふれた場合、1つの行がばらばらに格納され、パフォーマンスが悪くなることになります。なお、INSERTでばらばらに格納されることはありません。(まったくないわけではありませんが、INSERTでばらばらに格納されるならば、それは、ORACLE BLOCKのサイズが小さすぎるということで、PCT FREEが原因ではありません)
PCT USEDは、一度作られた行を、DELETE文などで削除した場合、その部分に空きができますよね。当然その部分をそのままほっておくのはもったいないので、新しい行を追加するときには、使いたいのですが、すぐには使いません。INSERTするときにデータの容量がPCT USED(同じくパーセントで示します)以下になっていれば、空いた部分を使ってデータを追加します。
つまり、まっさらなデータベースにデータを追加するときは、残り容量がPCT FREEになるまではそのまま追加し、さらに追加するときはPCT FREEだけ残して別の部分を使ってデータを追加します。
UPDDATEするときは、以前は言っているデータより大きいデータで更新するときに、PCT FREEで確保した部分を使います。
DELETEするときは、そのまま削除するのですが、データ容量がPCT USED以下になるまで再利用しないということです。
では、どう設計するかですが、上記の原理を理解して設計するのですが、そのデータベースをどのように使うかで決まります。つまり、UPDATEが多くINSERT時はデータ量が少ないのであればPCT FREEは大きくしておく必要がありますが、UPDATEがほとんどない場合は、PCT FREEを小さくしたほうが、データベースが小さくなりますしパフォーマンスもよくなります。
PCT USEDも同じで、DELETE分が多いのであれば大きめにしてやると、データ容量は小さくなりますが、連続的に追加したデータがばらばらに追加される可能性がありますので、パフォーマンスが落ちるかもしれません。逆にDELETEがほとんどないのであれば、大きくとってやればデータ容量も小さくなりパフォーマンスもあがることになります。
つまり、どれだけ使い方を把握できるかになります。わからなければ取りあえずデフォルトで使い、運用やテストするときにデータベースの状態を分析し、適正な値を見つけるというのが、普通です。ただし、よほど特殊なことをしない限り(DWHやパフォーマンスが厳しいとき以外)気にしなくてもいいように思います。パフォーマンスに関しても、このあたりの値よりも索引やSQL文の書き方のほうが大きく影響します。
このあたりの講習会としては「ORACLE データベース管理 基礎編」をお勧めします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ハイフン無しの電話番号データ...
-
拡張子「**.mdx」のファイル...
-
型 varchar から型 numeric へ...
-
カンマ区切りで格納するカラム...
-
ExcelのDcouta関数について
-
JavaScriptにて、商品番号を検...
-
毎日天気予報サイトを巡回させ...
-
データのインポートに失敗します。
-
外部データ取り込みのAccessへ...
-
リスト形式の表とデータベース...
-
データベースの最適化をマクロ...
-
DB2 UDBって?
-
アクセスの日付/時刻型で標準...
-
アクセスのデータがブッ壊れた...
-
ODBC接続とDBLINK
-
listener.logが肥大化
-
マクロでデータベースの最適化...
-
ODBC経由の処理が遅い
-
「オフセット値」とは?
-
daoのrecordcountで件数が取れ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
型 varchar から型 numeric へ...
-
エクセルの重複データの曖昧検索
-
エクセルのフォームについて(...
-
ハイフン無しの電話番号データ...
-
【パフォーマンス】ファイル読...
-
リスト形式の表とデータベース...
-
データのインポートに失敗します。
-
ACCESSで条件付き書式の設定方法
-
OpenOfficeのBaseでExcelのデー...
-
オラクルのLONG RAW型のテーブ...
-
カンマ区切りで格納するカラム...
-
Access or SQLServer どちらを...
-
【ACCESS】複数のパソコンから...
-
外部データ取り込みのAccessへ...
-
Access2000でデータベースの最適化
-
エクセルを使用して、顧客管理...
-
データーベースとはなんですか...
-
データマネジメント(臨床試験...
-
登録分類を集約したい。
-
Accessのデータベースの容量見...
おすすめ情報