复合索引(Composite Index)是由多个列组成的索引。它可以提高多列查询的效率,减少数据库的I/O操作。
假设有一个表 users
,结构如下:
CREATE TABLE users (
id INT PRIMARY KEY,
name VARCHAR(50),
age INT,
city VARCHAR(50)
);
如果经常有如下查询:
SELECT * FROM users WHERE name = 'John' AND age > 25;
可以创建如下复合索引:
CREATE INDEX idx_name_age ON users(name, age);
通过遵循这些原则和方法,可以有效地设计和使用复合索引,提高MySQL数据库的性能。