私はSQLを初めて使い、MySQLを使って作業しています。 私は、インデックスの概念によってつもりだと私は次のような場合に何が起こるかわからない:私は、last_name
または(last_name,first_name)
はfirst_name
ができない場合として、ルックアップに使用することができ、ここで読んだことが複数列インデックスの主キーの優先順位?
CREATE TABLE test (
id INT NOT NULL,
last_name CHAR(30) NOT NULL,
first_name CHAR(30) NOT NULL,
PRIMARY KEY (id),
INDEX name (last_name,first_name)
);
直接検索に使用されます(一番左のインデックスではありません)。
また、PRIMARY KEY
とUNIQUE KEY
は自動的に索引付けされています。ですから、私の場合、id
のインデックスはどこにありますか?一番左の接頭辞として来ないでください。
select * from test
where id=xxx and last_name==xxxx
これは、データベース全体を検索するか検索しますか?
idフィールドはプライマリキーの唯一のフィールドなので、そのインデックスの一番左のフィールドです... – Shadow