Ho trovato un caso divertente in SQL query SQL con prefisso stringa corrispondenza;un caso divertente per la query mysql "come 'xx'"
Ho creato una tabella come questa;
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
Poi, ho inserito 1.000.000 righe di dati per titolo di colonna casuale la cui lunghezza è inferiore a 20.
uso 3 SQLs come questo:
- 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;
E ho scoperto che:
- SQL # 1 costa 0.2s.
- SQL # 2 e SQL # 3 costano 0.0s. Ho utilizzato lo stato di visualizzazione come
%handl%
per trovare il piano di query, ho trovato SQL # 1 di scansione di tutti i dati dell'indice, SQL # 2 e SQL # 3 no.
Perché?
questi 3 sql non hanno alcun risultato nei miei dati – user1010434