我有一个MySQL数据库表,其中有几列,其中一列是varchar类型,其值为“是/否”或一大堆md5字符串。
其他2个字段是带有单个数字/数字值的int / tinyint。这两个字段是:
如果我要使用查询来选择具有“是”的记录,或者根据LicenseType是演示还是付费来过滤它们,或者根据应用程序状态过滤它们,那么它是否有助于在这些上创建索引列?
由于
答案 0 :(得分:1)
如果您的查询每次仅按其中一个过滤(在where子句中只有一列),则分别在这3列上需要三个单列索引
但是,如果您的查询类似于
,那么像(column1,column2,column3)这样的三列索引会有所帮助 select * from xxx where column1='Yes', column2=1 and column3=1
(在where子句中也称为三列)