2015-09-07 2 views
0

Здравствуйте, этот запрос производит это объяснить, что странно, учитывая, что я есть индекс набора для обеих колоннMYSQL - использование где и FileSort

'1', 'SIMPLE', 'vtr_video_transactions', 'ALL', 'user_standard,user_date', NULL, NULL, NULL, '5', 'Using where; Using filesort' 

CREATE TABLE `vtr_video_transactions` (
    `vtr_id` int(11) NOT NULL AUTO_INCREMENT, 
    `vtr_transaction_id` int(11) unsigned DEFAULT NULL, 
    `vtr_user_id` int(11) unsigned DEFAULT NULL, 
    `vtr_standards_id` int(11) unsigned DEFAULT NULL, 
    `vtr_video_date` datetime DEFAULT NULL, 
    PRIMARY KEY (`vtr_id`), 
    KEY `user_standard` (`vtr_user_id`,`vtr_standards_id`), 
    KEY `user_date` (`vtr_user_id`,`vtr_video_date`) 
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8; 

См user_date для индекса. Я установил его в DESC на MYSQL Workbench. Но я получаю файлы с объяснением. Не знаю, почему. Приветствия

данных для таблицы

LOCK TABLES `vtr_video_transactions` WRITE; 
/*!40000 ALTER TABLE `vtr_video_transactions` DISABLE KEYS */; 
INSERT INTO `vtr_video_transactions` VALUES (1,1,1,2,'2015-09-05 17:18:59'),(2,2,1,3,'2015-08-27 19:04:12'),(3,2,1,4,'2015-08-27 18:55:53'),(4,10,1,119,'2015-08-27 19:04:12'),(5,11,1,10,'2015-08-27 19:04:12'); 
+0

Какое количество записей у вашей таблицы? – Rahul

+0

какой запрос? Thx для заголовков для вывода объяснений! – Drew

+0

Всего 5 рядов. –

ответ

3

Смотрите страницу руководства here

Индексы менее важны для запросов на столиках или больших таблиц где запросы отчета о процессе большинство или все строки , Когда запрос должен получить доступ к большинству строк, чтение последовательно выполняется быстрее, чем , работая через индекс. Последовательные чтения сводят к минимуму запросы на поиск, даже , если не все строки необходимы для запроса.

Смежные вопросы