-
ID:61GjHc さんの質問

初歩的な質問となりますが、下記の場合って主キーなしでも問題ありませんか?

  1. 特定のテーブルを作り、1レコードだけ追加する。
  2. そのレコードは内容が更新されたり、カラムが追加されたりする。
  3. ただレコード数は増えることがない。

レコード数が増えないので主キーなしにしようかと思いますけど、なんとなく違和感があって気持ち悪くもあります。
そもそもDBを使わずにファイル管理でも良さそうですが、ファイルだと処理が面倒だったり他のテーブルと連動する可能性があるのでDB利用を考えています。

1レコードにこだわるのは結局全レコードを取得しないといけない箇所なので、1レコードだけに納めて高速化を測れたらと考えています。

まだDBについて知識が乏しいのでご教示いただけたら幸いです。

みんなの回答 2 件

ID:2gtY2Y さんの回答

状況が詳しくわからないのでなんとも言えないけど、自分だったら専用のテーブルは作らずmeta_dataのようなテーブルに入れて、同じようなものもそこに突っ込むようにする。
おそらくRDBを使ってると思うけど、オンメモリで保存できないから更新パフォーマンスは悪いけど、読み込み速度はNoSQLと引けをとらない。インデックスしてれば数万件レベルなら1msレベルの遅延にしかならないし、更新頻度が低ければクエリキャッシュで遅延という遅延にならないと思われる。
主キーは別に作っても作らなくてもいいけど、どうして1レコードしかないのに他テーブルと連動するということになるのかサッパリ分からない。JOINしなければ結局連動しようがしまいが1クエリ発行せざるを得ないのだし、全く意味をなしていないように感じる。

ID:EFeDjq

ご丁寧にご助言いただきありがとうございます!
根本的な考え方を見直したいと思います。
大変勉強になりました。

ID:S9htVT さんの回答

カラムの動的追加するならタテに並べようよ…。

ID:EFeDjq

それもそうですね。。。
1レコードにこだわってナンセンスな設計をするところでした。

最終更新日:2013-05-23 (5,500 views)

関連するトピックス

ページ上部に戻る