title: Satisfying MySQL condition using Index
body: <p>Please consider following schema</p>
  
  <pre><code>CREATE table articles (
      id Int UNSIGNED NOT NULL AUTO_INCREMENT,
      cat_id Int UNSIGNED NOT NULL,
      status Int UNSIGNED  NOT NULL,
      date_added Datetime,
      Primary Key (id)) ENGINE = InnoDB;
  
  CREATE INDEX cat_list_INX ON articles (cat_id, status, date_added);
  CREATE INDEX categories_list_INX ON articles (cat_id, status);
  </code></pre>
  
  <p>I have written following two queries which can be completely satisfied by the above two indicies but MySQL is putting where in extra column.</p>
  
  <pre><code>mysql&gt; EXPLAIN SELECT cat_id FROM articles USE INDEX (cat_list_INX) WHERE cat_id=158 AND status=2 ORDER BY date_added DESC LIMIT 500, 5;
  +----+-------------+----------+------+---------------+--------------+---------+-------------+-------+--------------------------+
  | id | select_type | table  ref         |   | type | possible_keys | key          | key_len | rows  | Extra                    |
  +----+-------------+----------+------+---------------+--------------+---------+-------------+-------+--------------------------+
  |  1 | SIMPLE      | articles | ref  | cat_list_INX  | cat_list_INX | 5       | const,const | 50698 | Using where; Using index |
  +----+-------------+----------+------+---------------+--------------+---------+-------------+-------+--------------------------+
  
  
  mysql&gt; EXPLAIN SELECT cat_id FROM articles USE INDEX (categories_list_INX) WHERE cat_id=158 AND status=2;
  +----+-------------+----------+------+---------------------+---------------------+---------+-------------+-------+--------------------------+
  | id | select_type | tab key                 |le    | type | possible_keys       | key_len | ref         | rows  | Extra                    |
  +----+-------------+----------+------+---------------------+---------------------+---------+-------------+-------+--------------------------+
  |  1 | SIMPLE      | articles | ref  | categories_list_INX | categories_list_INX | 5       | const,const | 52710 | Using where; Using index |
  +----+-------------+----------+------+---------------------+---------------------+---------+-------------+-------+--------------------------+
  </code></pre>
  
  <p>As far as I know where requires an additional disk seek. Why it's not just using index?</p>