MySQL: Jak znaleźć liście w określonym węźle
Wiem, że tego rodzaju pytania zostały zamieszczone tutaj wiele razy, na przykład:Sposób Java
Mam dużą ilość danych (150k +) w standardowym wzorze drzewa (id
, parent_id
, some_data
)
Pytanie: Jak uzyskać liście dla danego node_id?
Struktura tabeli:
CREATE TABLE `DATA_TREE` (
`ID` int(11) NOT NULL,
`PARENT_ID` int(11) NOT NULL,
`DATA` varchar(45) DEFAULT NULL,
PRIMARY KEY (`ID`),
UNIQUE KEY `ID_UNIQUE` (`ID`),
KEY `fk_DATA_TREE_1_idx` (`PARENT_ID`),
CONSTRAINT `fk_DATA_TREE_1` FOREIGN KEY (`PARENT_ID`) REFERENCES `DATA_TREE` (`ID`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf
Baza danych:MySQL 5.1.61