MySQL 5.1 использует событие filesort при наличии индекса

Вероятно, мне не хватает какой-то глупости ... Очевидно, MySQL 5.1 продолжает выполнять сортировку файлов даже при наличии индекса, который точно соответствует столбцу в предложении ORDER BY. Чтобы разместить это здесь, я Мы слишком упростили модель данных, но проблема все еще возникает:

Определение таблицы:

CREATE TABLE `event` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(255) DEFAULT NULL,
  `owner_id` int(11) DEFAULT NULL,
  `date_created` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `owner_id` (`owner_id`),
  KEY `date_created` (`date_created`),
  CONSTRAINT `event_ibfk_1` FOREIGN KEY (`owner_id`) REFERENCES `user_profile` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;

Моя проблема в том, что событие простого SELECT показывает «Использование файловой сортировки»:

explain select * from event order by date_created desc;

И результат для пояснения запроса:

id  select_type table   type    possible_keys   key key_len ref rows    Extra   
1   SIMPLE      event   ALL NULL        NULL    NULL    NULL    6       Using filesort

Есть ли способ для этого типа запросов использовать индексные методы сортировки файлов?

Заранее всем спасибо.

6
задан Xavier 24 May 2011 в 18:07
поделиться