Первый запрос - фильтрация записей на уровне mysql вне механизма хранения из-за вашего предложения «ORDER BY» с использованием поля date_added.
Это можно уменьшить, переместив поле date_added первым в индексе, как это
CREATE INDEX cat_list_INX ON articles (date_added, cat_id, status);
Во втором запросе - моя версия mysql не показывает «Использование где» - я бы тоже не ожидал - возможно, потому что у меня нет записей.
mysql> EXPLAIN SELECT cat_id FROM articles USE INDEX (categories_list_INX) WHERE cat_id=158 AND status=2;
+----+-------------+----------+------+---------------------+---------------------+---------+-------------+------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+----------+------+---------------------+---------------------+---------+-------------+------+-------------+
| 1 | SIMPLE | articles | ref | categories_list_INX | categories_list_INX | 8 | const,const | 1 | Using index |
+----+-------------+----------+------+---------------------+---------------------+---------+-------------+------+-------------+
1 row in set (0.00 sec)
Дополнительная информация о столбце из High Performance MySQL:
Использование индекса: Это означает, что MySQL будет использовать индекс покрытия, чтобы избежать доступа к таблице. Не путайте закрывающие индексы с типом доступа индекса.
Использование Where: Это означает, что сервер MySQL постфильтрует строки после того, как механизм хранения их получит. Многие условия WHERE, которые включают столбцы в индексе, могут быть проверены механизмом хранения, когда (и если) он читает индекс, поэтому не все запросы с предложением WHERE будут показывать «Использование где». Иногда наличие «Использование где» является подсказкой, что запрос может извлечь выгоду из другой индексации.