日期:2014-05-20  浏览次数:20672 次

加载数据库里面的整棵树
现在在项目里面的前台页面上有一棵树,客户要求能支持搜索,所以这棵树在加载的时候要不数据库里面的数据全部加载出来,求高手帮忙,怎么加载整棵树的数据,该怎么遍历整棵树

------解决方案--------------------
全部加载的话那就全部都查询出来存到内存里面。你所指的遍历是什么意思?是要根据父节点或者子节点来遍历?还是无序的遍历
------解决方案--------------------
数据量如何?
js 的各种tree都有相应的api

------解决方案--------------------
SQL code
1.    CREATE TABLE FLFL   
2.    (   
3.      ID      NUMBER                                NOT NULL,   
4.      MC      NVARCHAR2(20),   
5.      FLJB    NUMBER,   
6.      SJFLID  NUMBER   
7.    )  
      FLJB是作为树的级别,在很多查询中可以加快SQL的查询效率。在下面演示的功能基本上不使用这个关键字。
      SJFLID存储的是上级ID,如果是顶级父节点,该SJFLID为null(得补充一句,当初的确是这样设计的,不过现在知道,表中最好别有null记录,这会引起全文扫描,建议改成0代替)。
    SELECT * FROM flfl START WITH ID = 819459 CONNECT BY sjflid = PRIOR ID;