【问题标题】:Advantage of using index when searching, filtering搜索、过滤时使用索引的好处
【发布时间】:2015-12-15 06:20:08
【问题描述】:

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

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

  1. LicenseType(值为 0 或 1)//0 演示,1 已付费
  2. 应用程序状态(0 或 1)//0 已过期,1 处于活动状态

如果我要使用查询来选择“是”的记录,或者根据 LicenseType 是演示还是付费过滤它们,或者根据应用程序状态过滤它们,是否有助于在这 3 个上创建索引列?

谢谢

【问题讨论】:

    标签: mysql select indexing filter


    【解决方案1】:

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

    但是,如果您的查询是这样的,像 (column1, column2, column3) 这样的三列索引会有所帮助

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

    (也就是 where 子句中的三列)

    【讨论】:

      猜你喜欢
      • 2016-11-18
      • 1970-01-01
      • 1970-01-01
      • 2011-10-05
      • 2014-09-05
      • 2013-05-24
      • 1970-01-01
      • 1970-01-01
      • 2021-07-29
      相关资源
      最近更新 更多