FireDAC。TFD查询。ArrayDML示例

来自RAD Studio代码示例
跳转到:航行,搜索

此示例演示如何使用阵列DML并比较了不同阵列大小的性能。

位置

你可以找到阵列DML示例项目位于:

  • 开始|程序| Embarcadero RAD Studio Athens |示例然后导航到:
    • 对象Pascal\Database\FireDAC\Samples\Comp Layer\TFDQuery\ExecSQL\ArrayDML
  • 子版本存储库:
    • 您可以在中找到Delphi代码示例GitHub存储库。根据您的RAD Studio版本,按名称搜索样本存储库。

描述

这个阵列DML示例显示如何使用阵列DML在一个步骤中执行多个SQL INSERT命令以优化数据库填充性能。该示例还比较了不同阵列大小的阵列DML性能。

如何使用样本

  1. 导航到上面给出的位置并打开FireDAC阵列DML.d项目.
  2. 按F9或选择运行>运行.

文件夹

Delphi中的文件 包含

FireDAC阵列DML.d项目
FireDAC阵列DML.dpr

项目本身。

fMain.pas公司
fMain.fmx公司

主要形式。

实施

而不是在设计时使用对象检查器,此示例配置TFD连接TFD查询在运行时。当您运行应用程序时,您会在表单上看到以下组件:

  • A类备忘录对象。
  • 两个编辑命名的对象DML阵列大小记录数量。两个对象的默认值均为100100000分别是。
  • A类复选框对象标记为使用事务处理。默认情况下未选中。
  • 三个按钮标记为的对象运行单个测试,运行阵列大小测试、和删除所有行.

样本运行后,您可以通过更改编辑框或单击上述按钮与样本进行交互:

  • 单击运行单个测试按钮运行阵列DML使用测试代码执行中的方法阵列DML模式。为此,示例从DML阵列大小编辑对象。使用编辑框的默认值,该示例对100000使用块的记录,其中每个块是长度的DML数组100这意味着对于每个DML数组,测试都会执行100SQL语言插入命令,以优化数据库填充性能。此外,因为它是为100000记录,样本使用1000DML阵列。为了实现测试,示例配置了以下内容:
    • 将连接设置为Oracle演示数据库。
      注释:根据您的环境更改连接参数。有关更多详细信息,请参阅数据库连接(FireDAC).
    • 这个插入命令如下:'插入{id FDQA_Batch_test}(tint,tstring)值(:f1,:f2)'.
    • 如果您检查使用事务处理复选框中,示例使用:
  • 单击运行阵列大小测试按钮启动一个循环,该循环执行前一个测试的九次。每次执行都使用不同的DML数组长度。长度如下:1,2,5,10,50,100,500,1000,500010000.
  • 单击删除所有行按钮从测试表中删除所有记录。为此,示例使用执行SQL方法,包含以下内容删除命令:'从{id FDQA_Batch_test}中删除'.

用途

另请参阅

样品