
indexキーとprimary keyについてですが、違いというのは、NULLが許可されるか、されないかの違いでしょうか?
データベースから検索する際に、indexキーがある方が検索スピードが速いということですが、あるHPに《PRIMARY KEY が宣言されたカラムは自動で Index Key と Unique Key が適応されます》とありました。
ですので、検索スピードを上げるには、PRIMARY KEYを設定すれば、indexキーが設定されたのと同じ事になるのでしょうか?
No.1ベストアンサー
- 回答日時:
単純な違いはというと、Primaryキーは一意性があり重複が許されないものです。
よってそのテーブルの検索キーワードになりますから通常Indexが張られます。Uniqueは一意性を意味します。
なので Primaryキー = Uniqueキー + Indexキー ですね。
検索スピードを上げるためには条件となる項目がPrimaryかIndexであれば早くはなりますが、Primaryはむしろテーブル設計に拠るところが大きくて、一般的に用いられるのはIndexです。
また、条件全ての項目にIndexを張る必要はありません。
条件となる項目にIndexがあり、条件文の書き方(条件文の並び順とか)によっては少ないIndexで済みます。
たくさんIndexを張るとDBが大きくなってしまいますので。
ありがとうございます。
とても詳しく説明していただき、自分なりに多少理解できたと思います。もう少し勉強する必要があるかと思いますが・・・。
本当にありがとうございました。
No.2
- 回答日時:
プライマリの用途としては親テーブルに子テーブルを結合するときの
キーとするためのもの、もしくは特定のレコードを端的に確定させるための
検索キーという認識の方がわかりやすいかもしれませんね。
その用途から一意性を保証するためのuniqueと、検索性をあげるための
indexがついているわけです。
「正規化」について学習すれば理解度が深まるかもしれません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MAMPで80ポートが使用されている...
-
mysqlがインストールされている...
-
SQLです教えてくださいお願いし...
-
下記の問合せを行うクエリを、P...
-
下の画像はSQLの4大命令の性質...
-
#1062 - '0' は索引 'PRIMARY' ...
-
「重複を間引いた数」をcountし...
-
SQLiteについて
-
SQLで抽出してCSVで書き出した...
-
同一日に複数レコードがある場...
-
MAMP 99ドル約1.6万円 高い...
-
あってますか?SQL
-
WHERE `年月日` = '晴' OR `年...
-
SQLです教えてくださいお願いし...
-
SQLを作ったのですがうまくいき...
-
(初心者)MySQLやmaraDBで、crea...
-
SQLです教えてくださいお願いし...
-
SQLです教えてくださいお願いし...
-
SQLです教えてください。
-
SQLです教えてくださいお願いし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
1つのSQLで2段階の抽出を行い...
-
SQLでレコード間の値の交換
-
limit offset はupdate文には使...
-
【SQL】項目に紐づいている情報...
-
こちらのテーブルにあってこち...
-
ACCESS サブフォームについて
-
SELECT INTOで一度に複数の変数...
-
【SQL】他テーブルに含まれる値...
-
フラグをたてるってどういうこ...
-
sqlに記述できない文字
-
truncate tableを使って複数の...
-
オラクルのUPDATEで複数テーブル
-
既存データをINSERT文にして出...
-
副問合せを使わずにUNIONと同様...
-
SQLで、Join句で結合したテ...
-
UPDATEで既存のレコードに文字...
-
PostgreSQLのtimestamp型で時間...
-
既にテーブルが存在する場合の...
-
SQLサーバに対するSQL文で抽出...
-
エラーを起こす方法
おすすめ情報