问题标签 [direct-path]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
5098 浏览

oracle - 如何使用 Oracle 外部表并行直接路径加载?

几年前,Thomas Kyte 说过(这里):

我最喜欢使用外部表:

尽快加载这个非常大的文件。过去,将脚本设置为并行直接路径加载。协调所述脚本的触发。查看日志文件以确保它们全部完成。拆分输入文件或使用跳过和加载来分割文件。简而言之,屁股疼。

现在:

并行直接路径负载变得微不足道。

除了这不是有效的语法......

如何使用 Oracle 的外部表执行“并行直接路径加载”?

0 投票
3 回答
130 浏览

oracle - 您可以使用带有直接路径插入的连接吗?

我试图找到示例,但它们都很简单,只有一个 where 子句。这是情况。我有一堆从另一个数据库传输的遗留数据。我在同一个数据库中也有“好”表。我需要将(数据转换)数据从旧表传输到 w 表。因为这是一组不同的表,所以数据转换需要复杂的连接才能将旧数据正确地放入新表中。

所以,旧表旧数据。

新表必须有旧数据,但它需要大量连接才能将旧数据正确地放入新表中。

我可以使用带有很多这样的连接的直接路径吗?INSERT SELECT(大量连接)直接路径是否适用于已经在同一个数据库上的表(表之间的传输)?它仅用于从文本文件中加载表格吗?

谢谢你。

0 投票
0 回答
318 浏览

oracle - 直接路径可以插入 LOB 列吗?

如果我的目标表中有一个 BLOB 列,我可以使用直接路径吗?我从 Oracle 中找到了这个声明:

  • 未启用补充日志记录并且表没有 LOB 列

我不知道这是否是一个需要同时满足两个条件的陈述,或者他们只是没有把它放在两个句子中。

两个选项都是 AND 吗?

还是意味着:

  • 未启用补充日志记录
  • 该表没有 LOB 列
0 投票
2 回答
3313 浏览

java - 是否可以通过 JDBC/Java 使用直接路径插入?

我们有一个用 C 和 Pro*C 编写的应用程序,它使用主机阵列和批量插入将日志文件中的数据插入到 Oracle 11.2 数据库中。这使用APPENDNOLOGGING提示来利用直接路径插入并减少生成的重做量。NOLOGGING这很有意义,因为它是一个临时的临时表,如果需要,可以从日志文件中恢复数据。

我们正在尝试在 Java 中复制此功能,但无法使用直接路径插入大量记录。这对 Java/JDBC 可行吗?

我尝试和调查的事情是:

  • JDBC 批处理(标准批处理和Oracle 的扩展)。这种方法节省了往返时间,但这可以忽略不计,因为应用程序与数据库位于同一台机器上。它也不使用直接路径。
  • APPEND_VALUES提示。这听起来很有希望,但意义不大,因为 JDBC 批处理似乎并没有实际执行许多记录的“数组”插入。

据我了解,直接路径插入仅支持子查询语法,不支持 VALUES 子句。这不能使用,因为要插入的数据在数据库中尚不存在。

我一直找不到任何关于 Java 能够使用 Pro*C 使用的主机数组样式加载的参考。

顺便说一句,我们正在研究外部表加载或 SQL*loader 并欣赏这些工具能够直接加载路径,但这个问题实际上是关于是否甚至可以从 Java 中获得直接路径插入的明确答案。了解 Java API 的局限性不仅对本项目有用,对未来的项目也有用。

所以重申这个问题,有没有办法可以利用 Java 的直接路径插入?

相关问题:

0 投票
2 回答
933 浏览

oracle - Direct-Path INSERT 查询生成 ORA-00918 错误

你能解释一下为什么在执行这个查询时会产生错误 ORA-00918

第 1 行错误 ORA-00918:列定义不明确

脚本在第 2 行终止。

0 投票
0 回答
85 浏览

oracle - 如何在 OCCI 中使用直接路径?

从 OCCI 文档https://docs.oracle.com/database/121/LNCPP/toc.htm中,我找不到使用 DirectPath 的明显 API,我是否需要直接在 OCCI 应用程序中调用 OCI api?

0 投票
1 回答
140 浏览

python - 给定一棵树 T = (V, E),找到从顶点 v 到顶点 w 的直接路径

我被困在我的算法分配中,它要求在时间复杂度 O(dist(v,w))中找到从顶点 v 到顶点 w 的 n 个顶点(非循环间接图)的树(V,E)中的直接路径。我必须找到一个预处理(在 O(n) 中运行)来存储一些信息,这样我才能达到 O(dist(v, w)) 的时间复杂度。

我需要了解预处理中存储的内容,这将有助于稍后的算法。

没有完整的解决方案。

我已经尝试存储可能的路径,但是要创建一个全局 Adj 列表,我需要二次时间 O(n^2)。Dijkstra 也运行在所要求的时间复杂度之上(以及网络的所有路由算法)。树中的两个节点具有唯一的路径。

还尝试使用动态编程来存储已经发现的所有路径,但我想我已经克服了线性时间。运行 BFS 并存储所有以前的路径,例如:(node, node) : next hop

因此我需要(1 + 2 + 3 + 4 + 5 + ... + n - 1 + n) = n^2