Hallo liebe Forengemeinde,
habe mal wieder ein Problem ich hab eine struktur in einer Datenbank abgelegt.
Die Tabellenstruktur sieht so aus
CREATE TABLE `kd_struktur` (
`id` int(10) NOT NULL,
`bon_lft` int(10) DEFAULT NULL,
`bon_rgt` int(10) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `bon_lft` (`bon_lft`),
KEY `bon_rgt` (`bon_rgt`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
ICh habe eine abfrage die mir alles unter einem Teilbaum auslesen soll
SELECT p.id, COUNT( p.id ) -1 AS
LEVEL FROM kd_struktur AS n, kd_struktur AS p, kd_struktur AS o
WHERE o.bon_lft
BETWEEN p.bon_lft
AND p.bon_rgt
AND o.bon_lft
BETWEEN n.bon_lft
AND n.bon_rgt
AND n.id =2
GROUP BY o.bon_lft
ORDER BY o.bon_lft
LIMIT 0 , 100
und das Explain zeigt das (Screen im Anhang)
Ich hoffe Ihr könnt mir helfen. ich denke mal ich habe die indexe falsch gesetzt oder so...
MFG DANIEL Anhang anzeigen 2
habe mal wieder ein Problem ich hab eine struktur in einer Datenbank abgelegt.
Die Tabellenstruktur sieht so aus
CREATE TABLE `kd_struktur` (
`id` int(10) NOT NULL,
`bon_lft` int(10) DEFAULT NULL,
`bon_rgt` int(10) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `bon_lft` (`bon_lft`),
KEY `bon_rgt` (`bon_rgt`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
ICh habe eine abfrage die mir alles unter einem Teilbaum auslesen soll
SELECT p.id, COUNT( p.id ) -1 AS
LEVEL FROM kd_struktur AS n, kd_struktur AS p, kd_struktur AS o
WHERE o.bon_lft
BETWEEN p.bon_lft
AND p.bon_rgt
AND o.bon_lft
BETWEEN n.bon_lft
AND n.bon_rgt
AND n.id =2
GROUP BY o.bon_lft
ORDER BY o.bon_lft
LIMIT 0 , 100
und das Explain zeigt das (Screen im Anhang)
Ich hoffe Ihr könnt mir helfen. ich denke mal ich habe die indexe falsch gesetzt oder so...
MFG DANIEL Anhang anzeigen 2