搜索,过滤时使用索引的优点

时间:2015-12-15 06:20:08

标签: mysql select indexing filter

我有一个MySQL数据库表,其中有几列,其中一列是varchar类型,其值为“是/否”或一大堆md5字符串。

其他2个字段是带有单个数字/数字值的int / tinyint。这两个字段是:

  1. LicenseType(值为0或1)// 0 Demo,1为付费
  2. 申请状态(0或1)// 0已过期,1有效
  3. 如果我要使用查询来选择具有“是”的记录,或者根据LicenseType是演示还是付费来过滤它们,或者根据应用程序状态过滤它们,那么它是否有助于在这些上创建索引列?

    由于

1 个答案:

答案 0 :(得分:1)

如果您的查询每次仅按其中一个过滤(在where子句中只有一列),则分别在这3列上需要三个单列索引

但是,如果您的查询类似于

,那么像(column1,column2,column3)这样的三列索引会有所帮助

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

(在where子句中也称为三列)