POSTGRESQL性能测试数据
来源:互联网 发布:linux 创建文件路径 编辑:程序博客网 时间:2024/05/18 12:41
测试平台: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~~
尹曙光
迅驰 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~~
尹曙光
- POSTGRESQL性能测试数据
- POSTGRESQL测试数据生成
- Postgresql生成大量测试数据
- PostgreSQL生成测试数据
- Postgresql快速插入测试数据
- 【性能】性能测试数据分析
- 【性能】性能测试数据分析
- Postgresql 随机生成测试数据sql
- KVM IO性能测试数据
- 如何准备性能测试数据
- 【性能测试】-测试数据准备
- 使用AWK构造性能测试数据
- 性能优化之测试数据准备
- docker: dockerizing postgreSQL(加入自己的测试数据)
- 在PostgreSQL中如何生成线性相关的测试数据
- Sql Server 的性能测试数据的陷阱
- Nginx 推送模块性能的测试数据
- 可靠性测试和软件性能测试数据总结
- C语言的字节对齐及#pragma pack的使用
- 在Linux上安装QT4
- 编写每一个QT程序
- 使您的页面在任何分辨率下保持全屏显示
- nginx windows下安装成功。。
- POSTGRESQL性能测试数据
- nginx配置虚拟主机
- 一个日期时间字符串的解析类
- ASP.NET页面的生命周期
- 数据库存储时间与系统当前时间做比较存天、小时、分或秒、毫秒
- 有干劲,你就洒下汗水;有知识,你就献出智慧;两者都不具备,请你让出岗位。
- 中断分类
- 初学者学习C++的50条忠告
- ORA-01033问题后又出现ORA-01145问题的解决方案