プライマリキーはデータベーステーブルの最初のフィールドである必要がありますか?プライマリキーの場所
名前の後にIDを置くとクエリが遅くなるのですか?
CREATE TABLE users
(
name TEXT NOT NULL,
id INTEGER NOT NULL PRIMARY KEY AUTO_INCREMENT,
site INTEGER NOT NULL,
...
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
あなたの思考を少し調整しようとするのと同じように、主キーはパフォーマンスとは関係のない論理的な制約です。しかし、ほとんどのRDBMSでは一意のインデックスを実装して主キーの制約を適用しています。この索引はパフォーマンスに影響する可能性がありますが、他の索引を使用して問合せに影響を与える可能性があります。主キーは自動インクリメント整数でなくてもかまいません(ほとんどのデータベースではそれをそのまま使用します)。 –