• 締切済み

データベースの初期サイズ

基本的なことなのですが、データベースの初期サイズはだいたいどのくらい確保すればいいものなのでしょうか。 フィールドごとにデータ型のバイト数×レコード数で計算していけばいいのでしょうが、例えば導入後月1000レコードずつ増えていくと想定される場合、どのくらいのレコード数を目処にすればいいのでしょうか。 その際、トランザクションログのサイズはどのくらいとればいいのでしょうか。 あまりサイズが小さすぎると自動拡張を有効にしていた場合、それにより負荷がかかってしまうと聞いたのですが・・。

みんなの回答

  • kokegon
  • ベストアンサー率78% (22/28)
回答No.2

どれぐらいの領域を確保すべきかというのは、一概には言えないですね。ハードウェアの構成なども絡んできます。 基本的には確保できるだけ確保してください。 ただし、システムDB や tempdb の分のサイズも残してください。システムDB は約 60MB temdb はシステムの発行する SQL 次第です。大規模なソートを行う場合は多めに残してください。 次に OS と同じパーティションに保存する場合(推奨しません)は ページファイルの最大サイズの分も残してあげてください。 推奨としては、データファイル専用ディスクに配置してできるだけ領域確保する。もし足りなくなったらディスクを追加してそこにも領域を確保する。こんな感じにすれば間違いないと思います。

  • kokegon
  • ベストアンサー率78% (22/28)
回答No.1

一番ベストな方法は、事前にデータのサイジングをきっちり行ったうえでそれをもとに領域確保することです。 ただし、万が一その領域がいっぱいになってしまったら SQL Server はストップしてしまいます。よって保険的な意味あいで自動拡張をしておくとよいと思います。 また、拡張の単位を % で設定しておくと最後のほうには一気に大量の領域を確保することになるのでサイズ指定のほうがよいと思われます。 テーブルのサイズは厳密に計るのは至難の業です ざっくりとしたテーブルのサイズの計算方法ですが 1レコードを 8KB で計算すれば少なく見積もることはない思います。インデックスはテーブルサイズの 30% って感じです。この計算方法はあくまで目安でお願いします。 トランザクションログのサイズはシステムの処理の内容に非常に依存するので実測に基づいて調整するのがよいと思います。 サイズに関して正直なところキリが無いので下手に悩むより拡張性のあるシステム構成にするのがよいと思います。

kim_chi
質問者

お礼

回答ありがとうございます。 となると、例えば1月に1000レコード追加されるテーブルが1個だけ存在するとした場合、どのくらいの期間の分、サイズを確保しておけばよろしいでしょうか。 それとも、あまり細かく気にしなくていい部分なのでしょうか。自動拡張が繰り返されると余計な負荷になってしまうと聞き、悩んでいるのですが。

関連するQ&A

  • データベースにあった効率なフィールドの書き方?

    MySQL4とMySQL5を使っています。 データベース不慣れで、言葉や考え方が間違っているかもしれませんが、 例えば以下のようなフィールドを持つテーブルがあり、 どちらがデータベースにとって効率良い(スピードやDBサイズ) のでしょうか? 例1)1レコード128バイト bigint position zyusyo char(120) 例2)1レコード256バイト bigint position zyusyo char(248) MySQLに限らず、他のDBもフィールドの定義仕方で効率が変わることは、あるのでしょうか? このようなことはDBチューニング?というものでしょうか? 語彙不足で申し訳ありません。

    • ベストアンサー
    • MySQL
  • アクセス 最大ファイルサイズおよび最大レコード数

    アクセス初心者です。 windowsME Access2000を使用しています。 現在システム作成中です。 アクセスにはサイズの制限のようなものはあるのでしょうか? 例えば、エクセルでは1レコードのフィールド数や、レコード件数に制限がありますよね。 アクセスでも1レコードのフィールド数は255でしょうが、レコード数についてはいろいろ調べても特に記述が無くてわかりません。  (1)レコード数に制限はあるのか?  (2)1ファイルのサイズに制限はあるのか?  (3)データベース全体に制限はあるのか? などです。もちろん、1つのレコードの長さに関係はあると思いますが。ちなみに現在のシステムはデータなしの状態で、3メガ程のちいさなものです。 どなたか詳しい方よろしくお願いします。とても急いでおります。m(__)m

  • この場合のデータベースの作り方 初心者です。

    PHPとMYSQLにて検索システムを作りたいのですが、http://www.nighkyaba.jp/cast/index このような場合、テーブルのレコードやフィールドの数、PrimeryKeyなどどのようにして作れば良いのでしょうか? 基本的には、検索する条件(地域・年齢等)の数だけ(ここでは10個程)フィールドをつくるという事なのでしょうか? また、データベースをサイトからではなく直接ファイルに記録するにはコマンドプロンプト以外に便利なフリーソフトはありますでしょうか? WEB制作の社員で、MYSQLは初心者です。何卒宜しくお願い致します。

    • ベストアンサー
    • MySQL
  • SQL 2005のデータベースファイルのサイズ変更について

    こんにちは。 現在、基幹システムのDBとして、SQL Sever 2005 を使用しております。 稼動1年が経過した現在、データそのものの容量は50GB程度なんですが、導入時、ストレージ自体に余裕があったため、データベースファイルの初期サイズをかなり大きく採ってしまい、バックアップに非常に時間がかかっております。(データ増加率を間違えました・・・)  ・データベースファイル 合計8個  各ファイルサイズ 75GB   データベース容量 600GB 増加率から、データベース容量を半分の300GBに縮小したいと思っております。 縮小するための方法を教えていただけないでしょうか?

  • MySQLデータベースにcsvファイルインポートで、エラー

    csvファイルインポートで、エラー phpMyAdminからMySQLデータベースに、csvファイルのインポートを試みたところ、 「CSV 入力のフィールド数が不正です(行: 17)」と表示され、うまくいきません。 データベースの中を確認すると、60レコードのうち、15レコードまでは正常にインポートされています。 元のcsvファイルを確認しても、mysql側とフィールド数は一致しており、問題はないように見受けられました。 phpMyadminのバージョンが、2.6.1-pl3から 2.10.0.2に変わった後、上記の問題が発生するようになりました。 よろしくお願いいたします。

    • ベストアンサー
    • MySQL
  • Accessのデータベースの容量見積もり

    Access2007でデータベースを設計しようとしています。 利用者がレコードを追加していくタイプのもので、ファイル形式はAccess2000です。 ファイルサイズが2GBを超えないように最大件数などを決めていきたいのですが、何件データを入れると大体どのくらいのサイズになるかというのは、どういう計算で求めればいいのでしょうか? ちょっと試しにデータを入力してみると、実際に入力したデータ量と比べてファイルサイズはかなり大きくなっていて、単純にフィールドサイズの合計×レコード件数で求めるというわけではないみたいで困っています。 よろしくお願いします。

  • 複数データベースへの問い合わせ

    同一サーバーに(DB1,DB2,DB3)と複数のデータベースがあった場合(ユーザーは同じです)、SELECTの際に複数のDBに対しての問い合わせをすることはできるのでしょうか? それぞれのデータベースはテーブルも全く同じ構造で、 そこから特定のフィールドのレコードだけを引っ張り出して使いたいのですが、SQLをどのように書いていいのかがわかりません・・・ ヒントだけでもいただけると嬉しいです。よろしくお願いします。

  • データベース数などの制限について

    お世話になります。 現在、データベースについて学習中なのですが、いくつか疑問点があり質問させていただきます。 まず、初歩的な事かと思いますが、データベース数、テーブル数、データ数に制限はあるのでしょうか?いくらでもそれは作っても問題ないのでしょうか? また、やはり作れば作るだけサーバの負荷やスピードは遅くなってしまうのでしょうか? また、 (1)testというデータベースにtest1というテーブルがあり、その中に1万件のデータが入っている場合。 (2)testというデータベースにtest1,test2,test3・・・test10というテーブルがあり、それぞれのテーブルに1000件のデータが入っている場合。 上記の場合、一つのデータを取り出す際に(1)と(2)のどちらがサーバの負荷的にもスピード的にも優れているのでしょうか? どなたかご存知の方、宜しくお願いします。

    • ベストアンサー
    • MySQL
  • Perlでのデータベース利用

    とても一般的な質問になりますが、 そこそこ規模の大きな(目標会員数一万人)会員サイトをPerlで構築しようとしています。 問題はデータベースへのアクセス負荷なんですが、 ひとつのテーブルのレコード数が100万行ぐらいになると思います。 一般的なホスティングサーバを利用してデータベースはMySQLです。 「大規模なデータベースシステムはJAVAサーブレットが向いている」と言う話をよく聞きますが、上述のような規模のサイトは(Perl or PHP)+MySQLでは難しいのでしょうか? 出来たらPerlで通してみたいと考えております。 ご意見、ご指導よろしくお願いいたします。

    • ベストアンサー
    • Perl
  • Javaで使用するデータベースの選定方法について

    現在、データベースの選定に困っています。 レコードが約100万件もある場合、どういうデータベースを選定すればいいんで しょうか? Javaで扱えるデータベースとして、「Oracle」、「SQLServer」 、「Postgre」、「MySQL」は有名ですが、レコード件数が膨大である場合の 選定方法(ポイント)を教えてください。ちなみにサーバー側のOSは、Windows2000 を想定しています。皆様、宜しくお願い致します。

    • ベストアンサー
    • Java