是的,MySQL支持復合索引(也稱為聯(lián)合索引或多列索引)。全局索引是InnoDB存儲引擎的一個特性,它將索引數(shù)據(jù)存儲在主數(shù)據(jù)文件之外,以提高查詢性能和減少數(shù)據(jù)碎片。
在InnoDB中,復合索引可以包含多個列,這樣可以根據(jù)查詢需求創(chuàng)建更優(yōu)化的索引。例如,如果你有一個包含first_name
、last_name
和age
列的表,你可以創(chuàng)建一個復合索引,以便同時根據(jù)first_name
和last_name
進行查詢。
要創(chuàng)建復合索引,你可以使用以下SQL語句:
CREATE INDEX index_name ON table_name(column1, column2, ...);
例如,對于上面的示例表,你可以創(chuàng)建一個復合索引:
CREATE INDEX idx_name_age ON users(first_name, last_name, age);
這將允許你根據(jù)first_name
、last_name
和age
的組合進行更快速的查詢。請注意,復合索引的順序很重要,因為它會影響查詢優(yōu)化器選擇最佳索引的能力。通常,將最具區(qū)分度的列放在前面,以獲得更好的查詢性能。