我想知道我的类别mysql表应该是什么样的,哪个INDEX或KEY是正确的还是四个都是正确的?
INDEX (parent_id)
INDEX parent (parent_id)
INDEX parent_id (parent_id)
KEY parent_id (parent_id)
这是我的MySQL代码。
CREATE TABLE categories (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
parent_id INT UNSIGNED NOT NULL DEFAULT 0,
category VARCHAR(255) NOT NULL,
url VARCHAR(255) NOT NULL,
depth INT NOT NULL DEFAULT 0,
PRIMARY KEY (id),
INDEX parent (parent_id),
UNIQUE KEY (parent_id, url)
);
答案 0 :(得分:0)
首先,您需要消除其中一个重复索引(parent
或parent_id
)。然后,很可能您需要KEY
为id
而不是parent_id
。
最后,depth
字段是多余的,因为深度可以从类别的层次结构中计算出来。但有时,出于性能原因需要重复数据。如果您确切知道为什么需要depth
字段,那么您可以保留它。