楼主: 〇〇

大家知道都有哪些国产数据库

[复制链接]
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
51#
 楼主| 发表于 2012-9-24 18:53 | 只看该作者
myth8860 发表于 2012-9-24 17:18
我没64位的windows哦

64位安装程序可以用,但却安装到x86 目录

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
52#
 楼主| 发表于 2012-9-26 15:54 | 只看该作者
〇〇 发表于 2012-9-24 15:36
说实话,插入还是挺快的,100万条12秒
SQL> create or replace procedure ptest (n integer ) IS
2    i  ...

forall测试不如for快
create or replace procedure ptestall (n integer,bsize integer ) IS
num integer:= 0;
type ta is table of a.a%type;
taa ta;
begin
taa.extend(bsize);
for k in 1..n/bsize loop
for i in 1..bsize loop
num:=num+1;
taa(i) := num;
end loop;
forall j in 1..bsize
insert into a(a) values(taa(j));
end loop;
commit;
end;

SQL> exec ptestall(1000000,100)

Use time:15015 ms.
ok.


SQL> truncate table a;

Use time:16 ms.
ok.


SQL> exec ptestall(1000000,1000)

Use time:14295 ms.
ok.

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
53#
 楼主| 发表于 2012-9-26 15:57 | 只看该作者
每批越大,越快,但都不如for快
SQL> exec ptestall(1000000,10000)

Use time:13436 ms.
ok.


SQL> truncate table a;

Use time:0 ms.
ok.


SQL> exec ptestall(1000000,100000)

Use time:13218 ms.
ok.

使用道具 举报

回复
论坛徽章:
43
现任管理团队成员
日期:2011-05-07 01:45:08ITPUB元老
日期:2012-09-12 14:50:28版主5段
日期:2014-06-11 02:21:31阿斯顿马丁
日期:2013-11-19 10:38:16祖母绿
日期:2012-11-06 12:43:12路虎
日期:2013-11-20 11:37:53雪佛兰
日期:2013-09-05 13:28:25ITPUB9周年纪念徽章
日期:2010-10-08 09:28:512015中国数据库技术大会纪念徽章
日期:2015-04-24 16:04:24秀才
日期:2015-05-26 13:32:07
54#
发表于 2012-9-28 17:32 | 只看该作者
〇〇 发表于 2012-9-26 15:54
forall测试不如for快
create or replace procedure ptestall (n integer,bsize integer ) IS
num integ ...

你这个表没主键,加上主键试试

使用道具 举报

回复
论坛徽章:
43
现任管理团队成员
日期:2011-05-07 01:45:08ITPUB元老
日期:2012-09-12 14:50:28版主5段
日期:2014-06-11 02:21:31阿斯顿马丁
日期:2013-11-19 10:38:16祖母绿
日期:2012-11-06 12:43:12路虎
日期:2013-11-20 11:37:53雪佛兰
日期:2013-09-05 13:28:25ITPUB9周年纪念徽章
日期:2010-10-08 09:28:512015中国数据库技术大会纪念徽章
日期:2015-04-24 16:04:24秀才
日期:2015-05-26 13:32:07
55#
发表于 2012-9-28 17:34 | 只看该作者
〇〇 发表于 2012-9-26 15:57
每批越大,越快,但都不如for快
SQL> exec ptestall(1000000,10000)

f

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
56#
 楼主| 发表于 2012-9-28 18:43 | 只看该作者
myth8860 发表于 2012-9-28 17:32
你这个表没主键,加上主键试试

SQL> create table a(a number(38,2));

Use time:16 ms.
ok.


SQL>

SQL> alter table a add primary key(a);

Use time:62 ms.
ok.


SQL> create or replace procedure ptestall (n integer,bsize integer ) IS
2    num integer:= 0;
3    type ta is table of a.a%type;
4    taa ta;
5    begin
6    taa.extend(bsize);
7    for k in 1..n/bsize loop
8    for i in 1..bsize loop
9    num:=num+1;
10   taa(i) := num;
11   end loop;
12   forall j in 1..bsize
13   insert into a(a) values(taa(j));
14   end loop;
15   commit;
16   end;

Use time:62 ms.
ok.


SQL>

SQL> create or replace procedure ptest (n integer ) IS
2    i integer := 0;
3    num integer:= 0;
4    begin
5    for i in 1..n loop
6    num := num+1;
7    insert into a(a) values(num);
8    end loop;
9    commit;
10   end;

Use time:0 ms.
ok.


SQL>

SQL> exec ptest(500000)

Use time:5928 ms.
ok.


SQL> truncate table a;

Use time:265 ms.
ok.


SQL> exec ptestall(500000,100)

Use time:4836 ms.
ok.


SQL> truncate table a;

Use time:125 ms.
ok.


SQL> exec ptestall(500000,500)

Use time:5133 ms.
ok.


SQL>

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
57#
 楼主| 发表于 2012-9-28 18:45 | 只看该作者
〇〇 发表于 2012-9-28 18:43
SQL> create table a(a number(38,2));

Use time:16 ms.

再次测试,for还是比100的forall慢
SQL> truncate table a;

Use time:93 ms.
ok.


SQL> exec ptest(500000)

Use time:5086 ms.
ok.

使用道具 举报

回复
论坛徽章:
43
现任管理团队成员
日期:2011-05-07 01:45:08ITPUB元老
日期:2012-09-12 14:50:28版主5段
日期:2014-06-11 02:21:31阿斯顿马丁
日期:2013-11-19 10:38:16祖母绿
日期:2012-11-06 12:43:12路虎
日期:2013-11-20 11:37:53雪佛兰
日期:2013-09-05 13:28:25ITPUB9周年纪念徽章
日期:2010-10-08 09:28:512015中国数据库技术大会纪念徽章
日期:2015-04-24 16:04:24秀才
日期:2015-05-26 13:32:07
58#
发表于 2012-9-29 16:56 | 只看该作者
〇〇 发表于 2012-9-28 18:43
SQL> create table a(a number(38,2));

Use time:16 ms.

nice job !

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
59#
 楼主| 发表于 2012-9-29 20:33 | 只看该作者
myth8860 发表于 2012-9-29 16:56
nice job !

为什么主键会影响for和for all呢

使用道具 举报

回复
论坛徽章:
407
紫蛋头
日期:2012-05-21 10:19:41迷宫蛋
日期:2012-06-06 16:02:49奥运会纪念徽章:足球
日期:2012-06-29 15:30:06奥运会纪念徽章:排球
日期:2012-07-10 21:24:24鲜花蛋
日期:2012-07-16 15:24:59奥运会纪念徽章:拳击
日期:2012-08-07 10:54:50奥运会纪念徽章:羽毛球
日期:2012-08-21 15:55:33奥运会纪念徽章:蹦床
日期:2012-08-21 21:09:51奥运会纪念徽章:篮球
日期:2012-08-24 10:29:11奥运会纪念徽章:体操
日期:2012-09-07 16:40:00
60#
 楼主| 发表于 2012-10-7 21:12 | 只看该作者
〇〇 发表于 2012-9-29 20:33
为什么主键会影响for和for all呢

插入10万行也要15秒,怎么回事?

SQL> create table test_fbi( id int,name char(10));

Use time:234 ms.
ok.


SQL> declare
2    begin
3    for i in 1..100000 loop
4    insert into test_fbi values(i,i);
5    end for;
6    end;

Use time:15694 ms.
ok.

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表