12
返回列表 发新帖
楼主: 〇〇

kdb+的性能测试

[复制链接]
论坛徽章:
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
11#
 楼主| 发表于 2016-5-11 20:48 | 只看该作者
//2种表删除的速度都很快
q)count t2
1
q)i
'i
q)count t
1
q)t
id| name descript date
--| ------------------
1 | 1    1        1
q)t2
id name descript date
---------------------
1  1    1        1
q)n:2
q)t insert(n;n;n;n)
'type
q)`t insert(n;n;n;n)
,1
q)t
id| name descript date
--| ------------------
1 | 1    1        1
2 | 2    2        2
q)t:`s#t
q)n:3
q)\t do[1000000;`t insert(n;n;n;n) ; n:n+1;]
3712
q)n:2
q)\t do[1000001;`t2 insert(n;n;n;n) ; n:n+1;]
2230
q)count t
1000002
q)count t2
1000002
q)\t delete from `t2 where (id mod 10) =5
78
q)count t2
900002
q)\t delete from `t where (id mod 10) =5
62
q)count t
900002
q)

使用道具 举报

回复
论坛徽章:
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#
 楼主| 发表于 2016-5-12 09:02 | 只看该作者
本帖最后由 〇〇 于 2016-5-12 09:12 编辑

//换1台机器测试,t[0]正常,但sorted标记还是至少插入2行才能设置
q)t: ([id:()] name:(); descript:(); date:())
q)`t insert (0;0;0;)
'type
q)`t insert (0;0;0;0)
,0
q)t
id| name descript date
--| ------------------
0 | 0    0        0   
q)t[0]
name    | 0
descript| 0
date    | 0
q)t[1]
name    |
descript|
date    |
q)t:`s#t
q)meta t
c       | t f a
--------| -----
id      | j   
name    | j   
descript| j   
date    | j   
q)n:1
q)\t do[100000;`t insert(n;n;n;n) ; n:n+1;]
12766
q)t:`s#t
q)\t do[100000;`t insert(n;n;n;n) ; n:n+1;]
37927
q)delete from `t
`t
q)t
id| name descript date
--| ------------------
q)`t insert (0;0;0;0)
,0
q)`t insert (1;1;1;1)
,1
q)t:`s#t
q)n:2
q)\t do[100000;`t insert(n;n;n;n) ; n:n+1;]
409
q)\t do[1000000;`t insert(n;n;n;n) ; n:n+1;]
4197
q)count t
1100002
q)t[0]
name    | 0
descript| 0
date    | 0
q)t[1100002]
name    | 1100001
descript| 1100001
date    | 1100001
q)t[0 2]
'length
q)3#t
id| name descript date
--| ------------------
0 | 0    0        0   
1 | 1    1        1   
2 | 2    2        2   
q)

使用道具 举报

回复
论坛徽章:
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#
 楼主| 发表于 2016-5-12 09:02 | 只看该作者
本帖最后由 〇〇 于 2016-5-12 09:16 编辑

//换1台机器测试,t[0]正常,但sorted标记还是至少插入2行才能设置
q)t: ([id:()] name:(); descript:(); date:())
q)`t insert (0;0;0;)
'type
q)`t insert (0;0;0;0)
,0
q)t
id| name descript date
--| ------------------
0 | 0    0        0   
q)t[0]
name    | 0
descript| 0
date    | 0
q)t[1]
name    |
descript|
date    |
q)t:`s#t
q)meta t
c       | t f a
--------| -----
id      | j   
name    | j   
descript| j   
date    | j   
q)n:1
q)\t do[100000;`t insert(n;n;n;n) ; n:n+1;]
12766
q)t:`s#t
q)\t do[100000;`t insert(n;n;n;n) ; n:n+1;]
37927
q)delete from `t
`t
q)t
id| name descript date
--| ------------------
q)`t insert (0;0;0;0)
,0
q)`t insert (1;1;1;1)
,1
q)t:`s#t
q)n:2
q)\t do[100000;`t insert(n;n;n;n) ; n:n+1;]
409
q)\t do[1000000;`t insert(n;n;n;n) ; n:n+1;]
4197
q)count t
1100002
q)t[0]
name    | 0
descript| 0
date    | 0
q)t[1100002]
name    | 1100001
descript| 1100001
date    | 1100001
q)t[0 2]
'length
q)3#t
id| name descript date
--| ------------------
0 | 0    0        0   
1 | 1    1        1   
2 | 2    2        2   
q)

使用道具 举报

回复
论坛徽章:
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
14#
 楼主| 发表于 2016-5-12 09:12 | 只看该作者
本帖最后由 〇〇 于 2016-5-12 09:50 编辑

//好像有点明白了,无key表用行号访问,有key表用id访问,昨天一直没有插入id=0,所以有key表t[0]返回空
q)t: ([id:()] name:(); descript:(); date:())
q)`t insert (0;0;0;0)
,0
q)`t insert (1;1;1;1)
,1
q)t:`s#t
q)n:2
q)\t do[100000;`t insert(n;n;n;n) ; n:n+1;]
328
q)\t do[1000000;`t insert(n;n;n;n) ; n:n+1;]
3328
q)count t
1100002
//超界视为最后一行
q)t[1100002]
name    | 1100001
descript| 1100001
date    | 1100001
q)t[1100001]
name    | 1100001
descript| 1100001
date    | 1100001
q)t[1100003]
name    | 1100001
descript| 1100001
date    | 1100001
q)3#t
id| name descript date
--| ------------------
0 | 0    0        0
1 | 1    1        1
2 | 2    2        2

使用道具 举报

回复
论坛徽章:
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#
 楼主| 发表于 2016-5-12 09:42 | 只看该作者
本帖最后由 〇〇 于 2016-5-12 09:52 编辑

//如果id定义为字符,就看出不能用数字访问
q)tt: ([id:`symbol$()] `symbol$name:(); `long$descript:(); `long$date:())
q)meta tt
c       | t f a
--------| -----
id      | s
name    | s
descript| j
date    | j

q)`tt insert(`123;`abc;1;1)
,0
q)tt
id | name descript date
---| ------------------
123| abc  1        1
q)`tt insert(`a;`abc;1j;1j)
,1
q)tt
id | name descript date
---| ------------------
123| abc  1        1
a  | abc  1        1
//类型的位置可以写在列前/后
q)tt2: ([id:`symbol$()] name:`symbol$(); descript:`long$(); date:`long$())
q)tt2
id| name descript date
--| ------------------
q)meta tt2
c       | t f a
--------| -----
id      | s
name    | s
descript| j
date    | j
q)`tt2 insert tt
0 1
q)tt2
id | name descript date
---| ------------------
123| abc  1        1
a  | abc  1        1
q)tt[0]
'type
q)tt[`123]
name    | `abc
descript| 1
date    | 1
q)tt[2]
'type

使用道具 举报

回复
论坛徽章:
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
16#
 楼主| 发表于 2016-5-12 10:29 | 只看该作者
//批量插入key表也很快
q)t1: ([] rn:`long$();name:`symbol$() )

q)\t  `t1 insert (til 10000;10000#`abc)
0
q)count t1
10000

q)t1k: ([ rn:`long$()] name:`symbol$())
q)\t  `t1k insert (til 10000;10000#`abc)
0
q)n:200000

q)\t  `t1k insert (10000+til n;n#`abc)
0
q)3#t1k
rn| name
--| ----
0 | abc
1 | abc
2 | abc
q)count t1k
210000

使用道具 举报

回复

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

本版积分规则 发表回复

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