【问题标题】:MySQL InnoDB select data straight from indexMySQL InnoDB 直接从索引中选择数据
【发布时间】:2014-05-16 23:27:03
【问题描述】:

如果我在 InnoDB 表上创建以下索引:

CREATE INDEX index_name on table_name (col1, col2)

并执行此选择查询:

SELECT col2 FROM table_name WHERE col1=some_value

MySQL 会直接从索引中检索 col2 吗?

(我想要实现的是大幅加快选择过程)

【问题讨论】:

    标签: mysql database-design indexing innodb


    【解决方案1】:

    应该的。那叫index-only scan

    但可以肯定的是,您应该检查查询执行计划。

    【讨论】:

      【解决方案2】:

      我不认为 MySQL 会自动使用索引,尽管 SQLite 会这样做。试试:

      SELECT col2 FROM table_name use index (col1,col2) WHERE col1=some_value
      

      【讨论】:

        猜你喜欢
        • 2011-06-06
        • 2014-01-12
        • 1970-01-01
        • 2017-10-04
        • 2011-12-20
        • 2020-03-05
        • 2015-05-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多