2010-10-30 63 views
0

我想知道我的类别mysql表应该如何以及哪个INDEX或KEY是正确的还是全部四个正确?MySQL表结构问题

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

所有你需要消除重复的索引(parentparent_id)的一个第一。那么,最有可能的是,您需要您的KEYid而不是parent_id

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