0
我是新来的sql,现在正在使用MySQL。 我经历指数的概念,我不知道在以下情况下会发生什么:多列索引中主键的优先级?
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)
);
我已阅读,在这里,last_name
或(last_name,first_name)
可用于查找那里为first_name
不能直接用于查找(不是最左边的索引)。
我也读过,PRIMARY KEY
和UNIQUE KEY
自动索引。那么,在我的情况下,id
索引来了吗?不要将它作为最左边的前缀。
select * from test
where id=xxx and last_name==xxxx
这会要求查找还是搜索整个数据库?
id字段是主键中唯一的字段,所以它是该索引中最左边的字段... – Shadow