Encontré un caso curioso en la consulta SQL de MySQL con coincidencia de cadena de prefijos;un caso curioso para la consulta de mysql "como" xx '"
Creé una tabla como esta;
CREATE TABLE `EpgInfo` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`title` varchar(100) NULL NOT NULL DEFAUL '',
PRIMARY KEY (`id`),
KEY `title` (`title`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
Entonces, Inserté 1.000.000 de filas de datos para el título de la columna aleatorio que la longitud es de menos de 20.
utilizo 3 SQLs como este:
- SQL # 1:
select * from EpgInfo2 where title like "快" limit 1;
- SQL # 2:
select * from EpgInfo2 where title = "中" limit 1;
- SQL # 3:
select * from EpgInfo2 where title like "中" limit 1;
Y me encontré con que:
- SQL # 1 cuesta 0,2 segundos.
- SQL # 2 y SQL # 3 cuestan 0.0s. Utilicé el estado de mostrar como
%handl%
para encontrar el plan de consulta, encontré que SQL # 1 escanea todos los datos de índice, SQL # 2 y SQL # 3 no.
¿Por qué?
estos 3 sqls no tienen ningún resultado en mis datos – user1010434