您的位置:首页 > 数据库

POSTGRESQL性能测试数据

2008-12-04 15:14 417 查看
测试平台:Postgresql 8.3.5 ,DotNet 2.0, Ado.net驱动 1.1, WinXp Sp3,
迅驰 1.8G Hz, 内存 2G
数据插入实验中数据插入的时间包含生成GUID的耗时和更新界面进度条的耗时
查询的时间仅包含读取数据库的时间

测试查询语句:

从表查询:

select "szSoftName","szValue" from "TST_Sort_T" inner join "TST_Value_T" on "TST_Sort_T"."nSortId"="TST_Value_T"."nSortId"
where "szValue" ilike '%...%'

主表查询:

select "szSoftName","szValue" from "TST_Sort_T" inner join "TST_Value_T" on "TST_Sort_T"."nSortId"="TST_Value_T"."nSortId"
where "szSoftName" ilike '%...%'

建库语句:

CREATE DATABASE testpsql
WITH OWNER = postgres
ENCODING = 'UTF8';

CREATE TABLE "TST_Sort_T"
(
"nSortId" serial NOT NULL,
"szSoftName" character varying(255),
CONSTRAINT "TST_Sort_SortId_PK" PRIMARY KEY ("nSortId")
)WITH (OIDS=FALSE);

CREATE INDEX "TST_Sort_SortName_I" ON "TST_Sort_T" USING btree ("szSoftName");

CREATE TABLE "TST_Value_T"
(
"nValueId" bigserial NOT NULL,
"nSortId" serial NOT NULL,
"szValue" character varying(255),
CONSTRAINT "TST_Value_ValueId_PK" PRIMARY KEY ("nValueId"),
CONSTRAINT "TST_Value_SoftId_FK" FOREIGN KEY ("nSortId")
REFERENCES "TST_Sort_T" ("nSortId") MATCH SIMPLE
ON UPDATE NO ACTION ON DELETE NO ACTION
)WITH (OIDS=FALSE);

CREATE INDEX "TST_Value_Value_I" ON "TST_Value_T" USING btree ("szValue");

数据插入
=====================================================
主表记录:0 从表记录:0
主表插入 从表插入 耗时
1000 1000×10 8秒 156毫秒
1000 1000×10 7秒 593毫秒
1000 1000×10 7秒 515毫秒

数据查询:
=====================================================
主表记录:3000 从表记录:30000
查询出的记录数量 查询条件筛选 耗时
2838 从表 218 毫秒
25586 从表 343 毫秒
25800 主表 203 毫秒
220 主表 31 毫秒

数据插入
=====================================================
主表记录:3000 从表记录:30000
主表插入 从表插入 耗时
10000 10000×10 1分 20秒 328毫秒
10000 10000×10 1分 24秒 109毫秒
10000 10000×10 1分 21秒 828毫秒

数据查询:
=====================================================
主表记录:33000 从表记录:330000
查询出的记录数量 查询条件筛选 耗时
1977 从表 2秒 62 毫秒
282379 从表 4秒 687 毫秒
33323 从表 2秒 312 毫秒
132 从表 1秒 921 毫秒
130 主表 312 毫秒
33200 主表 531 毫秒
282330 主表 4秒 15 毫秒
2410 主表 328 毫秒

数据插入
=====================================================
主表记录:33000 从表记录:330000
主表插入 从表插入 耗时
100000 100000×10 53分 6秒 390毫秒
100000 100000×10 1小时 49 分 3秒 562毫秒
100000 100000×10 2小时 35分 54秒 281 毫秒

数据查询:
=====================================================
主表记录:333000 从表记录:3330000
查询出的记录数量 查询条件筛选 耗时
18848 从表 20秒 468 毫秒
1124 从表 21秒 671毫秒
0 从表 20秒 375毫秒
32915 从表 20秒 328毫秒
33050 主表 3秒 562 毫秒
130 主表 3秒 265 毫秒
0 主表 1秒 890 毫秒
379750 主表 19秒 859毫秒

数据插入
=====================================================
主表记录:333000 从表记录:3330000
主表插入 从表插入 耗时
100000 100000×10 2小时 36分 5秒 218 毫秒

(中间在主表中插入 250000,从表 250000X10, 运行中间出错 )

主表记录:668592 从表记录:6685920
1000 1000×10 1分 17秒 31毫秒
1000 1000×10 1分 26秒 921毫秒
20000 20000×10 33分 16秒 625毫秒
200000 200000*10 6小时 17分 3秒 718 毫秒
200000 200000*10 5小时 59分 19秒 437 毫秒

数据查询:
=====================================================
主表记录:1103574 从表记录:11035740
查询出的记录数量 查询条件筛选 耗时
63033 从表 127093 ms
0 从表 57687 ms
88275 从表 128000 ms
974 从表 66860 ms
1030 主表 10406 ms
0 主表 5610 ms
88480 主表 57921 ms
390 主表 14797 ms

整数索引查询

从表查询:

select "szSoftName","szValue" from "TST_Sort_T" inner join "TST_Value_T" on "TST_Sort_T"."nSortId"="TST_Value_T"."nSortId"
where "nValueId" >100 and "nValueId" < 10000

查询总耗时: 641 ms.
检索到 9899 行。

select "szSoftName","szValue" from "TST_Sort_T" inner join "TST_Value_T" on "TST_Sort_T"."nSortId"="TST_Value_T"."nSortId"
where "nValueId" >100 and "nValueId" < 100000

查询总耗时: 72843 ms.
检索到 99899 行。

select "szSoftName","szValue" from "TST_Sort_T" inner join "TST_Value_T" on "TST_Sort_T"."nSortId"="TST_Value_T"."nSortId"
where "nValueId" >100000 and "nValueId" < 110000

查询总耗时: 609 ms.
检索到 9999 行。

select "szSoftName","szValue" from "TST_Sort_T" inner join "TST_Value_T" on "TST_Sort_T"."nSortId"="TST_Value_T"."nSortId"
where "nValueId" >900000 and "nValueId" < 910000

查询总耗时: 1219 ms.
检索到 9999 行。

select "szSoftName","szValue" from "TST_Sort_T" inner join "TST_Value_T" on
"TST_Sort_T"."nSortId"="TST_Value_T"."nSortId"
where "nValueId" = 100000

查询总耗时: 0 ms.
检索到 1 行。

select "szSoftName","szValue" from "TST_Sort_T" inner join "TST_Value_T" on
"TST_Sort_T"."nSortId"="TST_Value_T"."nSortId"
where "nValueId" = 9900000

查询总耗时: 94 ms.
检索到 1 行。

数据索引非常快,无须做主表的数字索引查询

我主要测试的是查询速度,在做数据插入时,晚上开机测试,同时在下载,下载速度越200多K,故对数据库插入应该有些影响。

~~The END~~
尹曙光
本文出自 “布衣坊” 博客,请务必保留此出处http://kevdmx.blog.51cto.com/429766/117186
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: