文章目录
前言
提示:本文章在DM8+WIN10环境下进行的测试,结果仅供参考,并且不代表DM7和DM6有同样的性能和效果。
一、表的连接性能
数据库做连接时使用的连接方式基本有两种,循环嵌套连接和哈希连接。其中循环嵌套连接又分使用索引和不使用索引的情况。
DM目前对这两种连接方式均进行了内部优化,但不同的数据量会使这两种方式产生不同的效果。
于是为了验证在不同数量级下,具体的性能效果差异,做了以下方面的测试,我们具体来看下。
二、测试方案
1.构造两张数据表,中间通过某字段进行连接;
2.构造一个SQL,该SQL可以使用循环索引连接和HASH连接;
3.分别在左表数量级为1,10,100,1000,10000,100000,1000000的时候对比不同连接方式下的sql执行时间,得到时间差。
三、环境准备
3.1 创建表
分别创建三张表,A和B用来存储1000000数据,C用来临时测试使用:
B表在BB列简历BB列的索引,好在索引连接时使用。
CREATE TABLE "TESTA"
(
"AA" INT,
"BB" VARCHAR(30),
"CC" VARCHAR(30),
"DD" VARCHAR(30));
CREATE TABLE "TESTB"
(
"AA" INT,
"BB" VARCHAR(30),
"CC" VARCHAR(30),
"DD" VARCHAR(30));
CREATE INDEX "IDX_TESTB_01" ON "TESTB"("BB"