楼主: 〇〇

什么数据库能5000万行的group by查询1秒内返回

[复制链接]
论坛徽章:
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
21#
发表于 2014-6-6 08:18 | 只看该作者
〇〇 发表于 2014-6-6 05:26
有截屏吗

起这早逛论坛,你媳妇知道么?

使用道具 举报

回复
论坛徽章:
1
优秀写手
日期:2013-12-18 09:29:09
22#
发表于 2014-6-6 08:32 | 只看该作者
本帖最后由 lyzhanhun 于 2014-6-6 09:46 编辑
〇〇 发表于 2014-6-5 21:09
用13楼脚本呢

脚本就不贴了,前面的分析有点问题,转成浮点后主要是后面的substr, 一个是慢在cast_doubleto_varchar, 另外一个点是substr

使用道具 举报

回复
论坛徽章:
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
23#
 楼主| 发表于 2014-6-6 10:05 | 只看该作者
lyzhanhun 发表于 2014-6-6 08:32
脚本就不贴了,前面的分析有点问题,转成浮点后主要是后面的substr, 一个是慢在cast_doubleto_varchar, 另 ...

我是问用物理表是否更快

使用道具 举报

回复
论坛徽章:
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
24#
发表于 2014-6-6 10:35 | 只看该作者
〇〇 发表于 2014-6-6 10:05
我是问用物理表是否更快

物理表一样的

使用道具 举报

回复
论坛徽章:
1
优秀写手
日期:2013-12-18 09:29:09
25#
发表于 2014-6-6 12:35 | 只看该作者
〇〇 发表于 2014-6-6 10:05
我是问用物理表是否更快

额  没看清。。。。。。 扫描数据不是瓶颈这个例子 用物理表业一样

使用道具 举报

回复
论坛徽章:
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
26#
 楼主| 发表于 2014-6-6 21:21 | 只看该作者
myth8860 发表于 2014-6-6 10:35
物理表一样的

又帮你们找出一个bug

Connected to: DM 7.1.3.78
SQL>with t as(select level t from dual connect by level<=1e4)
2   ,s as(select level s from dual connect by level<=5e3)
3   ,a as(select (s-1)*1e4+t a from t,s)
4   select substr(a,-1,1)x,sum(a)s from a
5   group by substr(a,-1,1)
6   order by 1;


行号       X S                        
---------- - -------------------------
1          1 4.905000000000000E+03   
2          2 4.945500000000000E+05   
3          3 4.949550000000000E+07   
4          4 4.949955000000000E+09   
5          5 4.949995500000000E+11   
6          6 4.949999550000000E+13   

7          7 1.200000030000000E+15   
8          E 4.500000000000000E+01   

8 rows got

已用时间: 00:01:03.570. 执行号:13.
SQL>
1   with t as(select level t from dual connect by level<=1e4)
2   ,s as(select level s from dual connect by level<=5e3)
3   ,a as(select (s-1)*10000+t a from t,s)
4   select substr(a,-1,1)x,sum(a)s from a
5   group by substr(a,-1,1)
6   order by 1;

行号       X S                  
---------- - --------------------
1          0 125000025000000     
2          1 124999980000000     
3          2 124999985000000     
4          3 124999990000000     
5          4 124999995000000     
6          5 125000000000000     
7          6 125000005000000     
8          7 125000010000000     
9          8 125000015000000     
10         9 125000020000000     

10 rows got

已用时间: 00:00:18.179. 执行号:14.

使用道具 举报

回复
论坛徽章:
0
27#
发表于 2014-6-7 12:53 | 只看该作者
〇〇 发表于 2014-6-6 21:21
又帮你们找出一个bug

Connected to: DM 7.1.3.78

这是dm7在dec类型转换varchar时,和oracle不兼容的问题。
SQL>select cast(10000 as varchar) a, cast(1e4 as varchar) b;

行号       A     B
---------- ----- ---
1          10000 1E4

使用道具 举报

回复
论坛徽章:
0
28#
发表于 2014-6-7 12:54 | 只看该作者
这个兼容问题已经列入开发日程,马上就可以解决。

使用道具 举报

回复
论坛徽章:
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
29#
 楼主| 发表于 2014-6-7 13:32 | 只看该作者
northcliff 发表于 2014-6-7 12:53
这是dm7在dec类型转换varchar时,和oracle不兼容的问题。
SQL>select cast(10000 as varchar) a, cast(1 ...

那1e4+一个数时怎么算

使用道具 举报

回复
论坛徽章:
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
30#
 楼主| 发表于 2014-6-7 13:36 | 只看该作者
〇〇 发表于 2014-6-7 13:32
那1e4+一个数时怎么算

自己测试出来了
SQL>select 1e4+1 ;

行号       1.000000E+04+1           
---------- -------------------------
1          1.000100000000000E+04   

已用时间: 1.020(毫秒). 执行号:33.
SQL>select cast(1e4 +1 as varchar);

行号       CAST((1.000000E+04+1)ASVARCHAR)
---------- -------------------------------
1          1.0001E4   

使用道具 举报

回复

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

本版积分规则 发表回复

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