電子書籍の厳選無料作品が豊富!

二つのテーブルの行数は同じとします

1行に10カラム以上あるテーブルから1カラムだけ取得するのと

idとvoteだけの2カラムで作ったテーブルから1カラムだけ取得する場合の処理スピードは速くなりますか?

updateで更新する時のスピードもカラム数が多いと違いが出ますか?


よろしくお願いします

sprintf("SELECT vote FROM hoge WHERE id=%d",
$id
);

A 回答 (1件)

厳密に測定すれば、2つしかカラムのないテーブルの方が、10カラムのテーブルよりも高速です。


たとえ、残り8カラムのデータすべてがNULLでもRDBMSでのテーブルスキーマの管理コストが余計にかかるためです。
しかし、ほとんどの場合、その他の要因のほうがパフォーマンスに影響を与えると考えられます。無用にテーブルを分割しても結合コストのほうが大きい場面のほうが多いと思います。
ちなみに、RDBではなければよく使うカラムが限られるような局面が多い事に注目して実装化されたのが「カラムベース・データベース」です。
この考え方は最近のMS SQL Serverなどでも取り入れられており、注目する必要があるかもしれません。
    • good
    • 0
この回答へのお礼

回答ありがとうございます
参考にさせていただきました
テーブル2つ作ることにしました、結合コストはかかりますがわかりやすさをとりました

お礼日時:2013/06/16 01:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!