-- 示例代码:创建一个包含联合索引的表,并演示最左匹配原则
-- 创建一个示例表,包含两个字段并创建联合索引
CREATE TABLE example_table (
id INT AUTO_INCREMENT PRIMARY KEY,
column1 INT NOT NULL,
column2 INT NOT NULL,
INDEX idx_column1_column2 (column1, column2)
);
-- 插入一些示例数据
INSERT INTO example_table (column1, column2) VALUES (1, 10), (2, 20), (3, 30), (4, 40);
-- 查询1:使用联合索引的第一个字段进行查询,符合最左匹配原则
EXPLAIN SELECT * FROM example_table WHERE column1 = 2;
-- 查询2:使用联合索引的前两个字段进行查询,也符合最左匹配原则
EXPLAIN SELECT * FROM example_table WHERE column1 = 3 AND column2 = 30;
-- 查询3:只使用联合索引的第二个字段进行查询,不符合最左匹配原则
EXPLAIN SELECT * FROM example_table WHERE column2 = 40;
example_table 表中,我们为 column1 和 column2 创建了一个联合索引 idx_column1_column2。column1,因此可以有效利用索引。column1 和 column2,同样可以有效利用索引。column2,这不符合最左匹配原则,因此无法有效利用索引。下一篇:mysql curdate()
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站