Tach!
like macht immer einen Full-Table-Scan (v: 5.1.40-community). Hab ich eben getestet.
Wer weiß, warum das bei dir nicht der Fall ist, aber ich bekomme das hin. Die Daten sind irgendwelche Test-Daten, die ich irgendwann mal im Netz gefunden habe. Die Tabelle hat circa 300.000 Datensätze. Ein Grund für eine Index-Nichtverwendung kann sein, dass die Datenmenge zu klein ist und es schneller mit dem Full-Table-Scan ist als mit Indexverwendung.
EXPLAIN SELECT * FROM `employees` WHERE last_name LIKE 'ka%'
id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra 1 | SIMPLE | employees | range | last_name | last_name | 18 | NULL | 6134 | Using index condition
CREATE TABLE `employees` (
`emp_no` int(11) NOT NULL,
`birth_date` date NOT NULL,
`first_name` varchar(14) NOT NULL,
`last_name` varchar(16) NOT NULL,
`gender` enum('M','F') NOT NULL,
`hire_date` date NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
ALTER TABLE `employees`
ADD PRIMARY KEY (`emp_no`),
ADD KEY `last_name` (`last_name`);
dedlfix.