【问题标题】:Oracle APEX Tree Hierarchy Limitations/IssuesOracle APEX 树层次结构限制/问题
【发布时间】:2013-08-07 16:01:23
【问题描述】:

我正在使用 Oracle APEX 4.2.2 并根据视图构建了一个树区域。

现在,当我使用此查询(见下文)并在 Oracle SQL Developer 中运行此查询时 - 一切都很好,但是当我在基于树区域的 Oracle APEX 的页面中放置相同的查询时 - 一切都正确保存,但是当我运行这个查询,根本没有显示任何记录/树。

现在底层视图的记录大小可以改变,但对于我在这里讨论的示例,我有超过 6000 条记录需要从中构建 Oracle 树层次结构。

我注意到的一件事是,如果我将记录大小减少到 500 行,树就会完美显示。

问题:

1) 现在是否存在我不知道的限制,因为我真的需要根据是否有 500 条记录或 6000 条记录来实现这一点?

2) 6000 行对于树层次结构表示是否过多?

3) 可能是因为Oracle APEX 4.2.2 现在使用js 建树,导致数据量问题?

4) 有没有办法减少树记录的深度,以便我至少仍然可以向用户显示一些内容?

我的查询是这样的:

    SELECT case when connect_by_isleaf = 1 then 0
            when level = 1 then 1
       else -1
       end as status,
       level,
       c as title,
       null as icon,
       c as value,
       null as tooltip,
       null as link
    FROM t
    start with p IS NULL
    CONNECT BY NOCYCLE PRIOR c = p;

我还注意到,如果我尝试在 SQL Workshop 中运行查询,除非我将记录大小减少到 500 条记录,否则它在那里也不起作用。

【问题讨论】:

  • 是的,IE8 - 为什么? Windows 平台上的 FF 和 Chrome 也有同样的问题。

标签: sql tree oracle-apex


【解决方案1】:

我询问了有关使用 IE 的问题,因为“树太大”问题在 IE 中尤为突出。我已经看到这个问题过去了,并且已经问过几次了。结论很简单,没有太多工作要做,通常浏览器不能很好地处理具有如此大数据集的树。通常问题不存在或在 ff 或 chrome 中很少,即主要不是打球,我的猜测是这与内存和 dom 操作有关。

1) 现在有一个我不知道的限制,因为我真的需要 根据是否有 500 条记录或 6000 条记录来进行 记录?

没有限制。

2) 对于树层次结构表示,6000 行是否过多?

可能,是的。

3) 可能是因为 Oracle APEX 4.2.2 现在使用的是 js 用于建造树木并因数量而引起问题 数据?

从 4.0 开始使用 jstree 构建树(不知道 3.2)。 Apex 在保存所有数据的树区域中输出一个全局变量。然后小部件的初始化将创建完整的 ul-li 列表结构。部分问题可能是一开始有这么多节点,然后是如何通过 jstree 运行,以及发生了大量的 dom 操作。我不确定更新版本的 jstree 是否会更好(apex 版本是 0.9.9,而 1.x 已经发布了一段时间)。

4) 有没有办法减少树记录的深度,以便 我至少还能向用户展示一些东西吗?

如果要限制深度,可以在 where 子句中使用 level 来限制查询。例如

WHERE level <= 3

替代选项可能是非顶点解决方案。动态树、树节点的 ajax、另一个插件……我还没有真正探索过这些,因为我还没有处理过这么大的树。

【讨论】:

    【解决方案2】:

    我体验过,可显示的树节点的数量还取决于树中的文本长度(例如节点和工具提示)。文本越短,树可以显示的节点就越多。但是,它可能会产生 50 个节点的差异,因此它不会解决您的问题,因为它没有解决我的问题。 我平庸的猜测是,这个 ul-li 的大小是有限的。 我内置了一个下拉预过滤器,因此用户必须缩小她/他想要显示的范围。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-19
      • 1970-01-01
      • 2011-01-18
      相关资源
      最近更新 更多