暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

星辰大海的第二篇

原创 薛晓刚 2021-09-02
785

之前姜老师发的这个数据。

image.png图片

我是认可的。

如果单CPU 是我们简单(不一定合理)估算2万多次。

我在上一篇的苏伊士运河的文章中我尝试单CPU每秒1万次登录。

我那个一次登录是select了两次。所以我上次写的每秒1万次登录,等于每秒2万次请求。一次是取密码,一次去取权限。所以也差不多。我们姑且这样论吧。

上期是MySQL版的,本期我们看看Oracle和后续的PostgreSQL版本的。

create table user (userid varchar(20),password varchar(20),primary key(userid));

create table qx (userid varchar2(20),qx varchar2(20));

create index xx on qx (userid);

create or replace procedure US as

t varchar2(10);

begin

for i in 1…500000 loop

SELECT DBMS_RANDOM.STRING (‘A’, 10) into t FROM DUAL;

insert into users values (‘T’||i,t);

end loop;

commit;

end;

create or replace procedure USqx as

t varchar2(10);

begin

for i in 1…500000 loop

SELECT DBMS_RANDOM.STRING (‘A’, 10) into t FROM DUAL;

insert into qx values (‘T’||i,t);

end loop;

commit;

end;

create or replace procedure query as

a varchar2(10);

b varchar2(10);

c varchar2(10);

d varchar2(10);

begin

for i in 1…500000 loop

SELECT userid,password into a,b FROM users where userid=‘T’||i;

SELECT userid,qx into c,d FROM qx where userid=‘T’||i;

end loop;

end;

image.png图片

我也开了三个线程,每个是把一个CPU用足了。50万次,10秒完成,也就是说1秒5万次。

image.png图片

在结构和逻辑以及数据量一致的情况下,可见单CPU Oracle是MySQL的5倍。

我猜想这可能是因为Oracle的绑定变量的软软解析提高的能力,MySQL每个都是硬解析。

以上数据库是Oracle19C和MySQL8 都使用默认参数,未做任何调优的数据。

剩下还有一篇PG的。我会补上的。

最后说一下星辰大海这歌挺好听。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论