@Obivankinobi

Почему LIKE запрос обрабатывается быстрее чем EQUAL?

Имеем простую тблицу на ~3 млн. записей.
CREATE TABLE `MTRIVI` (
  `id` int(11) NOT NULL,
  `numero` varchar(45) NOT NULL,
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

ALTER TABLE `MTRIVI`
  ADD PRIMARY KEY (`id`),
  ADD KEY `numero` (`numero`);


Создаем два запроса.

1. SELECT * FROM `MTRIVI` WHERE numero =1000410001 LIMIT 0 , 30 ; 12 total, Query took 9.4297 sec
5c6bd9e648a7a500081211.jpeg

2.SELECT * FROM `MTRIVI` WHERE numero LIKE '1000410001'; 12 total, Query took 0.0009 sec
5c6bda29828cc383836661.jpeg
Все время думал что like запрос медленнее чем = .
Как это обьяснить?
  • Вопрос задан
  • 210 просмотров
Решения вопроса 1
@ISE73
`numero` varchar(45)
numero =1000410001
numero LIKE '1000410001'
В первом случае неявное преобразование.
Попробуйте numero ='1000410001'
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы