免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1719 | 回复: 2
打印 上一主题 下一主题

[求助] 创建复合索引有什么指导原则? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-01-09 01:45 |只看该作者 |倒序浏览
有4个字段作为主键。以下4个字段值不允许重复的,所以作了主键。
timestamp int
dn           varchar(255)
period     int
value       varchar(255)
其它字段....

其中timestamp就是时间,会一直不断的增大,

而dn就是网元标识,dn也会有固定的一批,大概有2万到10万间。

period就是时间间隔,这个固定是10, 20, 30, 40, 50, 60。

value也会是固定的值,取值依赖dn,大概是1-100的范围。

因为每隔period时间,就会有一批数据入库。每批大概20000万,应该以什么样的顺序创建索引,才不会导致入库的时候,IO高的情况。

现在就是以dn, value, timestamp, period导致io高。


论坛徽章:
0
2 [报告]
发表于 2013-01-09 02:02 |只看该作者
回复 1# blueshame

这个表只会被不断的插入,不存在被更新的情况,所以我想使用timestamp作为第一个主键字段,但是有些资料是避免在取值朝一个方向增长的字段(例如:日期类型的字段)上,建立索引;对复合索引,避免将这种类型的字段放置在最前面。

论坛徽章:
0
3 [报告]
发表于 2013-01-09 02:24 |只看该作者
笔误,是2万数据,就是2万的数据,但是现在性能确实存在问题,大概有10个表,同时每个表都有2万的数据入库。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP