3 Stimmen

mysql-Kategorienbaum-Suche

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?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X