楼主: 〇〇

[转载] 列存数据库评测之MonetDB和Gbase8a性能对比测试

[复制链接]
论坛徽章:
6
2012新春纪念徽章
日期:2012-01-04 11:53:292013年新春福章
日期:2013-02-25 14:51:24林肯
日期:2013-09-12 15:57:33优秀写手
日期:2013-12-18 09:29:09慢羊羊
日期:2015-03-04 14:51:352015年新春福章
日期:2015-03-06 11:57:31
11#
发表于 2013-8-30 09:06 | 只看该作者
〇〇 发表于 2013-8-28 21:45
DM是否专门对tpch这些SQL优化了?

我们不做TPC-C, TPC-H测试的特殊优化。

使用道具 举报

回复
论坛徽章:
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
12#
 楼主| 发表于 2013-8-30 19:53 | 只看该作者
pkmonster 发表于 2013-8-30 09:06
我们不做TPC-C, TPC-H测试的特殊优化。

如果表a的c列有2个值,但有1亿行
select count(distinct c) from a

select distinct c from a
的执行计划各是什么

使用道具 举报

回复
论坛徽章:
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
13#
 楼主| 发表于 2013-8-30 19:53 | 只看该作者
〇〇 发表于 2013-8-30 19:53
如果表a的c列有2个值,但有1亿行
select count(distinct c) from a

假设没有索引,没有not null约束

使用道具 举报

回复
论坛徽章:
6
2012新春纪念徽章
日期:2012-01-04 11:53:292013年新春福章
日期:2013-02-25 14:51:24林肯
日期:2013-09-12 15:57:33优秀写手
日期:2013-12-18 09:29:09慢羊羊
日期:2015-03-04 14:51:352015年新春福章
日期:2015-03-06 11:57:31
14#
发表于 2013-8-31 10:21 | 只看该作者
〇〇 发表于 2013-8-30 19:53
假设没有索引,没有not null约束

SQL>explain select count(distinct c) from a;

1   #NSET2: [10, 1, 4]
2     #PRJT2: [10, 1, 4]; exp_num(1), is_atom(FALSE)
3       #AAGR2: [10, 1, 4]; grp_num(0), sfun_num(1)
4         #CSCN2: [10, 100000, 4]; INDEX33555450(A)


没有索引就只有全表扫描, 因为没有分组, 系统使用简单聚集操作符号AAGR进行计算。这两个语句的计划表面上一致,在AAGR内部有一个标记区分是否需要去重(DISTINCT),  如果有DISTINCT,  则会增加一个HASH表用于DISTINCT 计算。

上面这个例子是行表, (HUGE)列表也一样:
SQL>explain select count(distinct c) from a1;

1   #NSET2: [10, 1, 4]
2     #PRJT2: [10, 1, 4]; exp_num(1), is_atom(FALSE)
3       #AAGR2: [10, 1, 4]; grp_num(0), sfun_num(1)
4         #HFSCN: [10, 100000, 4]; INDEX33555451(A1)

只是叶子层使用HFSCN, 而不是CSCN扫描。对于HSCAN, 其实还可以优化一下,因为HUGE表的每一个节(SECTION)都记录了记录条数,对于没有DISTINCT的情况, 直接统计就可以。

使用道具 举报

回复
论坛徽章:
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
15#
 楼主| 发表于 2013-8-31 21:39 | 只看该作者
pkmonster 发表于 2013-8-31 10:21
SQL>explain select count(distinct c) from a;

1   #NSET2: [10, 1, 4]

group by是排序分组还是hash分组?

使用道具 举报

回复
论坛徽章:
6
2012新春纪念徽章
日期:2012-01-04 11:53:292013年新春福章
日期:2013-02-25 14:51:24林肯
日期:2013-09-12 15:57:33优秀写手
日期:2013-12-18 09:29:09慢羊羊
日期:2015-03-04 14:51:352015年新春福章
日期:2015-03-06 11:57:31
16#
发表于 2013-8-31 22:20 | 只看该作者
〇〇 发表于 2013-8-31 21:39
group by是排序分组还是hash分组?

两者都支持, HAGR为HASH 分组, SAGR为基于有序数据的线性分组, 选择哪个由优化器代价计算决定.

使用道具 举报

回复
论坛徽章:
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
17#
发表于 2013-9-2 19:54 | 只看该作者
〇〇 发表于 2013-8-31 21:39
group by是排序分组还是hash分组?

oo问这个问题想得到什么结果呢?

使用道具 举报

回复
论坛徽章:
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
18#
 楼主| 发表于 2013-9-2 21:28 | 只看该作者
myth8860 发表于 2013-9-2 19:54
oo问这个问题想得到什么结果呢?

我这个例子明显排序比hash慢阿

使用道具 举报

回复
论坛徽章:
25
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:442010世博会纪念徽章
日期:2010-07-30 12:07:232011新春纪念徽章
日期:2011-02-18 11:43:332010广州亚运会纪念徽章:高尔夫球
日期:2011-04-11 18:22:37蜘蛛蛋
日期:2011-08-17 08:44:40ITPUB十周年纪念徽章
日期:2011-11-01 16:21:15复活蛋
日期:2011-12-15 09:06:552012新春纪念徽章
日期:2012-01-04 11:51:22ITPUB 11周年纪念徽章
日期:2012-10-09 18:06:202013年新春福章
日期:2013-02-25 14:51:24
19#
发表于 2016-2-24 09:06 | 只看该作者
monetdb性能非常好,就是稳定性不行,啥时候解决稳定性就可以用起来了。

使用道具 举报

回复
论坛徽章:
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
20#
 楼主| 发表于 2016-2-24 12:20 | 只看该作者
microsoft_fly 发表于 2016-2-24 09:06
monetdb性能非常好,就是稳定性不行,啥时候解决稳定性就可以用起来了。

http://www.monetdb.com/blog/larg ... ty-pipeline-monetdb
中科院用了

使用道具 举报

回复

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

本版积分规则 发表回复

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