【发布时间】:2017-08-20 06:37:03
【问题描述】:
我需要在临时表中插入 12000 个字符串,每个字符串 6 个字符。目前我正在使用 SELECT Code FROM Articles where Code = '111111' OR Code = '222222' ... 命令执行此操作,该命令有 400 000 个字符,执行时间为 20 秒。我想知道如何加快这个过程?
我不需要对我的代码进行任何验证。它们需要作为查询的一部分或作为命令参数从应用程序传输到数据库。
我真的不需要Select Code From Articles,但是oracle不支持INSERT INTO (...) VALUES (...)中的多条记录
【问题讨论】:
-
您在查询中使用的代码列表(111111 等)来自哪里?另一个表,一个文件,用户输入,...?
-
好点,将其添加到问题中。我认为命令参数是合理的方式。
-
它们是如何保存在应用程序中的,您使用的是什么语言/连接类型?您可以传递一个值数组并将其视为一个集合。
-
我从 mysql 数据库中获取这些值。有一个存储过程可以执行
SELECT Code FROM Sometable。我的应用程序采用所有这些代码并尝试将它们传递给 oracle 临时表。在后端,我使用 C# 和 devart MySql 驱动程序。 -
Maybe something like this,但您的 Oracle 类型创建为字符串而不是数字。然后,您不必根据有多少值来构造语句,只需传递一个数组绑定变量。
标签: sql database plsql oracle10g