人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

MySQLで1つのテーブルに対して、「フィールド数・レコード数はこのぐらいがいい」という基準はあるのでしょうか?

ここで言う基準というのは、「フィールド数が多いと、処理が遅くなる」「レコード数が多いと、出力時に負荷がかかる」といったものです。

各仕様によって異なるのは当然かと思いますが、ある程度の基準・範囲を把握しておきたいと思い、質問しました。


●質問者: kt26
●カテゴリ:ウェブ制作
✍キーワード:MySQL フィールド レコード 仕様
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● kn1967
●80ポイント

パフォーマンスに関わる項目は

(1)ハードウェアの持つ性能
CPUの計算能力、メモリ搭載量、ハードディスク容量・転送能力など
(2)ソフトウェアのチューニング
アクセス制御、バッファサイズなど
(3)データベースの設計
データベースエンジンの選択、テーブルの正規化、適正なインデックス付け、SQLの最適化など

といったような具合で非常に多岐に渡るため一概に言えるような基準は無いです。


基準は無いと言われれば、どのようにすれば良いのかという話になるかとは思いますが、

下記にありますようにクエリのパフォーマンスを推定する事は可能です。

MySQL AB :: MySQL 4.1 リファレンスマニュアル :: 5.2.2 クエリパフォーマンスの推定


ここまでの話で「難しいや!!」と思われたのであれば

(a)インデックスを適切に付けてあればレコード数はネックとはならない。
(b)フィールド数の多い少ないはネックとはならない
(c)結果セットのサイズが大きいとパフォーマンスは低下する
SELECT * FROM ---- といったように不用意に*を使うと
不必要なカラムの内容までバッファメモリ上に置かれるため
パフォーマンスが大きく低下することもある。
レコード数が多ければ多いほど・・・以下同文。

という3点(どのデータベースソフトでも言えることです)だけでもご記憶ください。

MySQLだけの特徴としては

(d)データベースエンジンの選択によってはネックとなる
更新が少ないのであれば検索の早いMyISAM
更新もそこそこ多いのであればトランザクションの使えるInnoDB

などもご記憶を・・・


以上、参考になればよろしいのですがいかがでしょう?

◎質問者からの返答

ありがとうございます。かなり的確に・丁寧にご説明いただけたと思います。ぜひ参考にさせていただきます。


2 ● KUROX
●80ポイント

ORACLE、HiRDBで私はそんな話は聞いたことがないので、

DBではあまり意識する必要がないものだと思ってます。

なので、的外れな答えでごめんなさい。

私なら、一般的なDB設計して、性能に問題があれば

SQLのチューニング、インデックスキーの張り方、

MySQL自体の環境設定でなんとかすると思います。


■最大フィールド数

最大のフィールド数、レコード長、等

http://www.mysql.gr.jp/frame/modules/bwiki/?FAQ#content_1_82

■レコード数

|1つの機能で,1億行を超えるデータ量を持つデータベースや,

|1テーブルで20Gバイトを超えるテーブルなど,楽天市場には

|データ量の多いものがたくさんあります。

http://itpro.nikkeibp.co.jp/members/SI/oss/20031007/1/

■テーブルサイズにおける性能

http://itpro.nikkeibp.co.jp/article/NEWS/20070624/275673/

■性能チューニング

http://www.mysql.gr.jp/Manual/mysql-3.21.31/manual_Performance.h...

◎質問者からの返答

このようなURL、大変参考になります。じっくり読ませていただきます。ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ