Ich habe das folgende Schema auf MySQL 5.1
CREATE TABLE `mytest` (
`category` varchar(32) ,
`item_name` varchar(255)
KEY `key1` (`category`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
Die Spalte "Kategorie" wird wie folgt ausgefüllt
[:parent_parent_cat_id][:parent_cat_id][:leaf_cat_id]
10000200003000
wenn Sie alle Unterkategorien durchsuchen können :parent_parent_category_id
SELECT * FROM mytest WHERE category LIKE "10000%";
es wird der Index key1 verwendet;
sondern Wie verwende ich den Index, wenn ich nach :parent_cat_id suchen möchte?
SELECT * FROM mytest WHERE category LIKE "%20000%";
Haben Sie eine bessere Lösung?