MySQL中的復合索引可以包含數據例子,下面我們來探討一下它的用法。
CREATE TABLE users ( id INT PRIMARY KEY, name VARCHAR(255) NOT NULL, age INT NOT NULL, address VARCHAR(255) NOT NULL ); CREATE INDEX idx_user_age_address ON users (age, address);
以上是我們創建用戶表和復合索引的代碼,索引包含了年齡和地址兩列。接下來,我們向表中插入一些數據。
INSERT INTO users VALUES(1, '張三', 25, '北京'); INSERT INTO users VALUES(2, '李四', 30, '上海'); INSERT INTO users VALUES(3, '王五', 28, '北京'); INSERT INTO users VALUES(4, '趙六', 35, '深圳'); INSERT INTO users VALUES(5, '錢七', 40, '廣州');
現在,我們可以使用復合索引進行查詢。如果只使用單一索引,查詢可能會比較慢。但是,使用復合索引,查詢會變得非常快。
EXPLAIN SELECT * FROM users WHERE age = 28 AND address = '北京';
以上是查詢的代碼,我們使用EXPLAIN命令來查看查詢的執行計劃。
id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE users ref idx_user_age_address idx_user_age_address 513 const,const 1 Using where; Using index
以上是查詢執行計劃的結果。我們可以看到,MySQL使用了復合索引,并且使用了WHERE子句中的條件進行查詢。
總結:使用復合索引可以提高查詢速度,尤其是在包含大量數據的表中。但是,要注意不要濫用索引,否則可能會影響性能。
下一篇mysql 比率