建立複合索引

這將建立兩個鍵 mystringmydatetime 的複合索引,並使用 WHERE 子句中的兩列加速查詢。

CREATE INDEX idx_mycol_myothercol ON my_table(mycol, myothercol)

注意: 訂單很重要! 如果搜尋查詢不包含 WHERE 子句中的兩個列,則它只能使用最左邊的索引。在這種情況下,在 WHERE 中使用 mycol 的查詢將使用索引,搜尋 myothercol 而不搜尋 mycol 的查詢將不會。有關更多資訊,請檢視此部落格文章

注意: 由於 BTREE 的工作方式,通常在範圍內查詢的列應該是最右邊的值。例如,DATETIME 列通常像 WHERE datecol > '2016-01-01 00:00:00'一樣被查詢。BTREE 索引非常有效地處理範圍,但前提是查詢範圍的列是複合索引中的最後一列。