欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql主鍵可以做組合索引嗎

林國瑞2年前10瀏覽0評論

在MySQL數據庫中,主鍵是一種非常重要的概念,它可以用來保證數據完整性,同時也常常作為表中某些字段的索引。那么,MySQL主鍵可不可以做組合索引呢?

CREATE TABLE example (
id int(11) NOT NULL,
name varchar(50) NOT NULL,
age int(11) NOT NULL,
PRIMARY KEY (id, name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

從上面的例子中,我們可以看到,採用了“PRIMARY KEY (id, name)”這樣的語法,表示這個表的主鍵是由id和name兩個字段組成的。那么,這個主鍵是不是就是一個組合索引呢?

答案是肯定的。實際上,MySQL主鍵默認就包含了索引,如果我們把主鍵設置成由多個字段組成的形式,那么這個主鍵也就自然形成了組合索引。這種情況下,MySQL數據庫也會為主鍵創建一個組合索引,用于提高查詢速度。

EXPLAIN SELECT * FROM example WHERE id = 1 AND name = 'test';

上面的語句會輸出以下結果:

+----+-------------+--------+------------+-------+---------------+---------+---------+-------+------+----------+-------------+
| id | select_type | table  | partitions | type  | possible_keys | key     | key_len | ref   | rows | filtered | Extra       |
+----+-------------+--------+------------+-------+---------------+---------+---------+-------+------+----------+-------------+
|  1 | SIMPLE      | example | NULL       | const | PRIMARY       | PRIMARY | 54      | const |    1 |   100.00 | Using index |
+----+-------------+--------+------------+-------+---------------+---------+---------+-------+------+----------+-------------+

從這個結果可以看出,查詢使用了索引,而且是主鍵索引,效率是非常高的。

綜上所述,MySQL主鍵可以做組合索引。