U9树表设计建议

U9树表设计建议

ID:37976600

大小:61.46 KB

页数:3页

时间:2019-06-04

U9树表设计建议_第1页
U9树表设计建议_第2页
U9树表设计建议_第3页
资源描述:

《U9树表设计建议》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、U9树表设计建议目的修正目前U9的树表设计方式,提高树表访问效率。U9目前的树表设计方式在检查开发部的存储过程编写过程中,发现很多晦涩的递归或游标循环。这些循环不但容易产生冗余笛卡尔积,在数据量大的时候,很容易成为系统的瓶颈!询问开发人员得知是按照设计部的设计文档(伪码)编写。仔细察看相应文档发现大部分是树表设计的问题。在今年3月份检查U9表结构的时候就发现我们U9的树状结构表大概有80个,但是设计方式都是简单的ID+ParentID方式。虽然表设计的很简洁,但是访问起来却会非常麻烦。在Oracle中有ConnectBy…StartWith语句,它可以只使用ID+ParentID对

2、树表进行方便的遍历。但是我们的SQLServer没有提供相应的机制,只能通过递归循环或游标方式完成对树表的访问。下面是U9目前树表访问的典型例子:虽然可以只通过一个临时表完成循环,但是递归循环不可避免!更好的树表设计针对这种情况,我们可以为U9目前的树表加入TreePath字段解决目前的递归访问问题。见下面例子:表的前面部分还是典型的树表设计方式,但是为了方便访问,加入了TreePath字段。记录了每个子节点到达根节点的全路径。利用上例我们可以对比一下加入TreePath字段后,对树遍历的不同。遍历子节点:遍历父节点:利用TreePath的设计方式,需要在insert的时候将父记录

3、的TreePath+’’作为新记录的TreePath。这一点在技术实现上应该没有什么难度,但是却大大增强了对树表的遍历效率。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。