FAQ |
Kalender |
![]() |
#1 | ||
|
|||
Medlem
|
Hejsan,
jag hittade en väldigt bra sida som beskriver Nested class, den kan hittas på http://sslim7.com/ Jag har skapat tabellen: Kod:
CREATE TABLE nested_category ( category_id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(20) NOT NULL, lft INT NOT NULL, rgt INT NOT NULL ); INSERT INTO nested_category VALUES(1,'ELECTRONICS',1,20),(2,'TELEVISIONS',2,9),(3,'TUBE',3,4), (4,'LCD',5,6),(5,'PLASMA',7,8),(6,'PORTABLE ELECTRONICS',10,19), (7,'MP3 PLAYERS',11,14),(8,'FLASH',12,13), (9,'CD PLAYERS',15,16),(10,'2 WAY RADIOS',17,18); Koden jag använder är: Kod:
SELECT parent.name FROM nested_category AS node, nested_category AS parent WHERE node.lft BETWEEN parent.lft AND parent.rgt AND node.name = 'FLASH' ORDER BY parent.lft; +----------------------+ | name | +----------------------+ | ELECTRONICS | | PORTABLE ELECTRONICS | | MP3 PLAYERS | | FLASH | +----------------------+ Men MySQL hanterar inte denna fråga som optimal, jag får ut följande via explain queryn: Kod:
id select_type table type possible_keys key key_len ref rows Extra 1 SIMPLE node ref lft,name name 62 const 1 Using where; Using temporary; Using filesort 1 SIMPLE parent ALL lft NULL NULL NULL 10 Range checked for each record (index map: 0x2) Känns inte optimalt att använda nested class med MySQL, eller är det jag som missat något? Tacksam för alla svar. Mvh |
||
![]() |
![]() |
|
|