MySQL表结构问题

时间:2010-10-30 17:17:01

标签: mysql

我想知道我的类别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)
);

1 个答案:

答案 0 :(得分:0)

首先,您需要消除其中一个重复索引(parentparent_id)。然后,很可能您需要KEYid而不是parent_id

最后,depth字段是多余的,因为深度可以从类别的层次结构中计算出来。但有时,出于性能原因需要重复数据。如果您确切知道为什么需要depth字段,那么您可以保留它。