[pgsql-jp: 30555] Re: レンタルBBS テーブル構成

斎見 浩平 saimi @ oliver.co.jp
2003年 7月 23日 (水) 10:59:40 JST


> 一個のBBSでしたら、一つの記事用のテーブルを用意して、そこに書き込みがあ
> るたびにinsertしていこうと思うのですが、複数の場合どうするか、ということ
> です。考えたのは
> 
> ・一個のテーブルで済ます
> 
>  一個の記事を保存できるカラムを持つテーブルをつくり、「掲示板ID」のよう
> なものを付加してそのテーブルにinsertしていく
> 
> ・掲示板の数だけテーブルを作る
> 
>  一個のBBSの場合と同じような、記事を格納するテーブルを、掲示板の数だけ
> 動的に作ってしまう。
> 
> です。前者の方法ですと、例えば1万掲示板だったとして、保存件数が100だ
> としても100万レコードになってしまいます。あまりよくわかってないのです
> が、PostgreSQLで、100万レコードになると、どれだけひどいことになる(ま
> たはならない)のでしょうか?記事ですから、insertとselectが基本になるはず
> です。
> 
> 後者の方法に関して、例えば1万掲示板だとすると、1万個のテーブルができて
> しまいます。これは何か問題を生じないのでしょうか?また、このように、動的
> にテーブルをガンガン作成してしまうようなことは、一般的に行われることなの
> でしょうか?

1テーブルだと、INSERT SELECT共にとても重くなって現実的ではないと思い
ます。なにせ、めったにアクセスされない掲示板のレコードにも頻繁にアク
セスが生じますし。まだ1万個のテーブルのほうがましだと思います。

が、それより1万個のschemaまたはdetabaseを作成するほうがよろしいかと。
接続先さえ区別すれば、他は全く同じスクリプトが使えますから。

-- 
斎見 浩平 <saimi @ oliver.co.jp>





pgsql-jp メーリングリストの案内