测试平台:Postgre
sql 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 testp
sql 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~~ 尹曙光
原文链接:https://www.f2er.com/postgresql/197313.html