如何使用海量数据测试Oracle功能?

我的目标是使用海量数据测试Oracle功能。我在Windows中通过命令行(cmd)使用SQLPLUS。

下面的功能仅通过表DATAB中的2行进行测试。

如何使用大量预定数据测试我的功能?我必须花费很多时间重复INSERT语句吗?

CREATE TABLE DATAB  (  
   AA VARCHAR2(22)
);

CREATE OR REPLACE FUNCTION TEST3
    (P1 IN VARCHAR2)
RETURN NUMber AS V_VALUE NUMber;
BEGIN
    RETURN  P1*100;
END;
/

INSERT INTO DATAB(AA) VALUES (5); --Not a random dataset.
INSERT INTO DATAB(AA) VALUES (6);

SELECT TEST3(AA) FROM DATAB;
gouihk7 回答:如何使用海量数据测试Oracle功能?

出于您的目的,您可以通过多种方式生成测试数据,而无需在表中填充行。

以下链接提供了几种方法: https://www.orafaq.com/wiki/Oracle_Row_Generator_Techniques

其中,您可能想使用CONNECT BY方法,因为它可以让您生成所需数量的测试迭代。

SELECT TEST3(LEVEL) FROM DUAL CONNECT BY LEVEL <= 99999;
,

我假设您的测试数据没有模式(例如,您要测试1到10000之间的每个数字)。

然后您的问题变成“如何将大量数据导入Oracle数据库”?有很多方法,包括:

  • 第三方工具
  • ORGANIZATION EXTERNAL
  • 数据加载器
  • 运行一堆INSERT语句

这是我通常要做的:

  1. 将测试数据导入Microsoft Excel(通常总是从这里开始)
  2. 制作一个Excel公式,该公式计算一个字符串值,该字符串值是该行中数据的Oracle INSERT语句。例如,

    =“ INSERT INTO MY_TABLE(A,B,C)VALUES('” + $ A1 +“',” + $ A2 +“,” + $ A3 +“);”

...例如,如果AVARCHAR2,而BCNUMBER字段。

  1. 将该公式复制到电子表格中包含数据的每一行
  2. 复制公式结果并将其粘贴到文件中
  3. 出于很好的考虑,但是在文件的开头和结尾分别是BEGINEND;
  4. 运行文件

关于这些事情我倾向于老派。我敢打赌,有一些不错的工具可以使这一切变得更加容易。

本文链接:https://www.f2er.com/3158825.html

大家都在问