此示例演示如何使用阵列DML并比较了不同阵列大小的性能。
位置
你可以找到阵列DML示例项目位于:
- 开始|程序| Embarcadero RAD Studio Athens |示例然后导航到:
对象Pascal\Database\FireDAC\Samples\Comp Layer\TFDQuery\ExecSQL\ArrayDML
- 子版本存储库:
- 您可以在中找到Delphi代码示例GitHub存储库。根据您的RAD Studio版本,按名称搜索样本存储库。
描述
这个阵列DML示例显示如何使用阵列DML在一个步骤中执行多个SQL INSERT命令以优化数据库填充性能。该示例还比较了不同阵列大小的阵列DML性能。
如何使用样本
- 导航到上面给出的位置并打开
FireDAC阵列DML.d项目
.
- 按F9或选择运行>运行.
文件夹
Delphi中的文件 |
包含 |
FireDAC阵列DML.d项目
FireDAC阵列DML.dpr
|
项目本身。
|
fMain.pas公司
fMain.fmx公司
|
主要形式。
|
实施
而不是在设计时使用对象检查器,此示例配置TFD连接和TFD查询在运行时。当您运行应用程序时,您会在表单上看到以下组件:
- A类备忘录对象。
- 两个编辑命名的对象DML阵列大小和记录数量。两个对象的默认值均为
100
和100000
分别是。
- A类复选框对象标记为使用事务处理。默认情况下未选中。
- 三个按钮标记为的对象运行单个测试,运行阵列大小测试、和删除所有行.
样本运行后,您可以通过更改编辑框或单击上述按钮与样本进行交互:
- 单击运行单个测试按钮运行阵列DML使用测试代码执行中的方法阵列DML模式。为此,示例从DML阵列大小编辑对象。使用编辑框的默认值,该示例对
100000
使用块的记录,其中每个块是长度的DML数组100
这意味着对于每个DML数组,测试都会执行100
SQL语言插入
命令,以优化数据库填充性能。此外,因为它是为100000
记录,样本使用1000
DML阵列。为了实现测试,示例配置了以下内容:- 将连接设置为Oracle演示数据库。
- 注释:根据您的环境更改连接参数。有关更多详细信息,请参阅数据库连接(FireDAC).
- 这个
插入
命令如下:'插入{id FDQA_Batch_test}(tint,tstring)值(:f1,:f2)'
.
- 如果您检查使用事务处理复选框中,示例使用:
- 单击运行阵列大小测试按钮启动一个循环,该循环执行前一个测试的九次。每次执行都使用不同的DML数组长度。长度如下:
1
,2
,5
,10
,50
,100
,500
,1000
,5000
和10000
.
- 单击删除所有行按钮从测试表中删除所有记录。为此,示例使用执行SQL方法,包含以下内容
删除
命令:'从{id FDQA_Batch_test}中删除'
.
用途
另请参阅
样品