2015-12-15 28 views
0

我有一個MySQL數據庫表,其中有幾列,其中一列是varchar類型,值爲「是/否」或一大堆md5字符串。在搜索,過濾時使用索引的優勢

其他2個字段是int/tinyint與單個數字/數字值。這些2個字段是:

  1. 授權類型(值是0或1)// 0演示,1付費
  2. 應用狀態(0或1)// 0期滿,1有效

如果我要使用查詢來選擇具有「是」的記錄,或者根據LicenseType是演示版還是付費版進行過濾,或者根據應用程序狀態對其進行過濾,是否有助於在這3列上創建索引?

感謝

回答

1

你需要在這3列三個單列索引分別,如果您的查詢只能由其中一人每一次過濾器(又名只有一列在where子句)

然而,三像(列1,列2,欄3)列的索引可以幫助如果您的查詢像

select * from xxx where column1='Yes', column2=1 and column3=1

(又名三組貴where子句中的列)