具体的代码还没有写,不过今天听得授业恩师的一番指点,目前已经清楚在数据库结构上的设计策略。
目的:达到在百分之几秒内把数据显示给用户。
设计策略:
表主要字段:nodeid,fathernodeid 1、bad practice
在设计数据库时,一般考虑是将这两个字段设计为字符型,殊不知在数据库中查询字符串是个很耗时的工作,因此就不要这么做!
2、best practice
将这两个字段设计为大数字类型字段,如在sql server 中设计为 bigint 类型,并且在该数据内容上下手!
eg:以学校部门结构为例,学校{院1,院2、院3......},院{系1、系2、系3......},系{教研室1、教研室2、教研室3......}......
这是典型的树型结构,那么如何能高效的对这颗树进行遍历呢,如何能根据某个节点快速找到此节点下面所有的子节点(同时也是颗完整的(子)树)呢?
指导思想:将 nodeid,fathernodeid 设计为大数字类型,在向数据库中插入数据的时候按照一定的规则插入,具体的规则等想出来再说吧
待续...
|
|