Date: Wed, 07 Mar 2001 14:27:13 +0900
From: Hideyuki Ikumi <who@sub.example.jp>
生見です。
自己レスです。
勉強した結果、主キーは必要なテーブルのみ作成することにしました。
今まで、Oracleを使用していたのですが、テーブル設計する際
主キーを使用したことがありませんでした。
#一意キーを使用していた為
せっかく勉強したので、以下に調べた結果を記します。
主キーは、テーブル内で一意のレコードを識別する為のもので正解でした。
一意キー(ユニークキー)との違いは、NULLを許すかどうかの違いのようです。
その他に、ただのキー(重複可能)があります。
#全てのキーは、複数のキーからなる複合キーも可能です。
キーをつけることによって、INDEXが作成されるわけです。
主キーを含めINDEXが検索に効果を発揮するのは、検索対象が
全体レコード数の10%以下のときだそうです。(一般論)
#それ以上は、全件検索の方がはやい。
また、レコード件数が少ない場合なども、キーをつける必要は
ないです。
INDEXを多用すると、Insert時にINDEX作成の時間がかかるので注意が必要です。
あとは、テスト時にレスポンスをみながら調整です。
>生見です。
>
>一般的な質問ですいません。
>主キーについて教えてください。
>
>現在、テーブル設計をしていますが、主キーをつけるかどうかで悩んでいます。
>主キーは、テーブル内で一意のレコードを識別する為のものですよね。
>
>基本的に全てのテーブルに主キーを設定するべきなのでしょうか?
>#テーブルによっては、4つのキーで一意になるものもあります。
>
>主キーもインデックスが作られますよね?
>複合のユニークインデックスにするのとどのような違いがあるのでしょうか?
>
[MSDE/SQLServerに関して、今、どんなことにお困りですか?] |
よろしければお困りの内容を、電子メールで教えて下さい。 |
質問を電子メールで作成する
|
[ウィンドを閉じる][MSDE/SQLServer FAQ ][MSDE / MSDE2000 技術サポート情報一覧]
|