【发布时间】:2010-12-08 13:10:15
【问题描述】:
我只是在构建一个表来使用修改的预排序树遍历 (MPTT) 存储分层数据——你知道的:每个节点都存储 left 和 right ID 以查找其后代。我使用的是 CakePHP 建议的模型,它与标准方式不同,每行都包含 parent_id。
这是建议的表结构:
CREATE TABLE categories (
id INTEGER(10) UNSIGNED NOT NULL AUTO_INCREMENT,
parent_id INTEGER(10) DEFAULT NULL,
lft INTEGER(10) DEFAULT NULL,
rght INTEGER(10) DEFAULT NULL,
name VARCHAR(255) DEFAULT '',
PRIMARY KEY (id)
);
以前从未使用过这种样式,并且不知道它是如何被搜索的,我想知道我应该索引哪些字段?只是主键就足够了吗,还是我也应该包括lft 和rght?
【问题讨论】: