私はテーブルのように持っている:私はそれについて考える列を主キーとしてマークするのはいつですか?
// cookies
+----+---------+-------------------+------------+
| id | user_id | token | expire |
+----+---------+-------------------+------------+
| 1 | 32423 | dki3j4rf9u3e40... | 1467586386 |
| 2 | 65734 | erhj5473fv34gv... | 1467586521 |
| 3 | 21432 | 8u34ijf34t43gf... | 1467586640 |
+----+---------+-------------------+------------+
数日。私はid
の列にする必要はないと思います。現在id
の列はPKであり、ユニークなインデックスをtoken
という列に付けて検索すると、ユニークで高速な列になります。
今、知りたいのは、id
の列をテーブルから削除し、token
の列をPKにすることができますか?それは普通ですか?
正直に言うと、私はPKとしてtoken
列を選択するためにそれは奇妙ですので、私は、これまでid
列(それは常にPKをされている)せずにテーブルを作成したことがありません。
現在の構造は問題ありません。 –
@ GordonLinoff私の現在の構造では、 'id'はPKです。それは大丈夫ですか? – stack
Google「ナチュラルキーとサロゲートキー」両方に長所/短所があり、システムにとってより優れているのは特定の要件に依存します。 –