У меня есть таблица (book_list), в которой около 4 миллионов записей.У него есть PK (book_list_id), и когда я запускаю запрос, как показано ниже, я получаю результаты обратно в .060s
select * from book_list bl ORDER BY bl.book_list_id LIMIT 25
Теперь, когда я запускаю практически тот же запрос, но сортирую по book_title, который является varchar (1200)и индексируется, это занимает 34,7 с
select * from book_list bl ORDER BY bl.book_title LIMIT 25
Есть ли что-то, что я могу сделать, чтобы сделать это второе утверждение быстрее?
Кстати, я также пытался сортировать по другим числовым индексированным полям, и они тожеочень медленно.Похоже, что только сортировка по ПК дает быстрые результаты.
Вот таблица создания:
CREATE TABLE `book_list` (
`book_list_id` int(11) NOT NULL AUTO_INCREMENT,
`book_title` varchar(1200) CHARACTER SET utf8 DEFAULT NULL
PRIMARY KEY (`book_list_id`),
KEY `indx_book_title` (`book_title`(255))
)
ENGINE=InnoDB AUTO_INCREMENT=4733798 DEFAULT CHARSET=latin1