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