【发布时间】:2018-10-16 01:26:05
【问题描述】:
在我被指示继续搜索而不是问这个一般性问题之前,请详细了解我的问题。 我们有在 pl sql 中执行此操作的算法。但是,当给定的数字集包含大量元素时,它的表现不佳。例如,当集合有大约 22 个元素时,它工作得很好。然而,在那之后表演就死了。 我们正在使用 oracle 数据库 12c,这种数字搜索组合是我们的一个应用程序的一部分,它从 oracle 表中提取到关联数组中以查找组合。示例所需的最终总和 = 30 从 {1,2,4,6,7,2,8,10,5} 等中选择的一组元素。
我的问题要点: pl sql 真的适合编写这样的算法吗?我们是否应该寻找另一种编程语言/技术/服务器容量/工具来处理超过 80 个元素的更大集合?
【问题讨论】:
-
如果您能想出一种方法将您的数据分成 N 个组,其中 N 是您系统上的核心数,您也许可以使用支持多线程的语言来改善运行时间你的代码。例如,如果您可以将数据分成四个子集并在单独的线程中处理每个子集,那么四核处理器可能让您“足够快”地完成工作。 PL/SQL 不支持多线程。祝你好运。
标签: sql oracle performance plsql combinations