- ベストアンサー
Oracle11gでcreate文で指定するInitialとNext?
Oracle11gでcreate文で指定するInitialとNext?っていったいどういう値ですか? 初心者です。 よろしくおねがいします。。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
初心者でしたら、気にしなくていいです。ほっておきましょう。strage句の中のパラメータは、総てがそうです。省略可能ですし、省略しても(効率以外の)害はありません。 では、身も蓋もないので、一応、概略だけ。 Initialは、テーブルの初期エクステント数を、Nextは、増分エクステント数を指定します。単位は、バイトです。(Kをつけてキロバイト、Mでメガバイトの指定も出来ます。) この数字を理解するには、表領域の中で、テーブルがどのようにオラクルによって確保されるか、表領域内の各データファイルはどのように扱われているのか。テーブルの中のデータを修正した時に、オラクルでは、物理ファイルをどのように扱うのかの基本を押さえておく必要があります。 例えば、10gでの資料ですが、次のようなものがあります。 http://otndnld.oracle.co.jp/document/products/oracle10g/102/doc_cd/server.102/B19215-02/logical.htm これを押さえた上で、自分が作ろうとしているテーブルには、どの程度のサイズが見込まれるのかをブロック単位で計算し、作成当初のデータをきちんと整理された形で格納し、将来的にデータが増えてきた時にも、連鎖行やフラグメントが発生しにくい形にするためには、どの程度の大きさのエクステントを確保すべきかを計算して、指定します。 これをちゃんと計算できるなら、この数字は、データベースの効率を考える上で重要な数字になります。でも、計算できない(これは、オラクルへの理解度だけではなく、そのテーブルが現在・未来にどのように扱われるかへの理解度も必要です。)のであれば、素直に省略しておくのが吉でしょう。でたらめでも動きますけど、どうせでたらめに指定するなら、デフォルトでよいわけです。下手な数字を指定するとかえってシステム全体に悪影響を及ぼしますので。 というわけで、身も蓋もない回答は、冒頭のようになります。 学習するのであれば、マニュアル内にある「Oracle Database 概要」の物理データベース構造の概要、論理データベース構造の概要、データブロック・エクステント及びセグメント、表領域・データファイルおよび制御ファイル あたりを学習されると良いでしょう。かなり広範囲な上に、ことごとくオラクルに特化した内容になりますが・・・・。