社区
MySQL
帖子详情
股票数据库设计,望高手指点
hhh_hao
2009-11-18 04:31:38
要为公司建立一个股票历史数据库, 主要用来查询,当然还有数据的更新,插入
基本上是近几年的历史数据,记录的是每分钟的数据,每条记录包括时间,价格,成交量等,一年每只股票就有数十万条记录。股票加上外汇基金等有数万只,
比较容易想到的两个方案:
1、建一个数据库,把这些历史数据都放在一个表里, 数据量太大
2、为每个股票单独做表,表太多了
大家都投个意见吧,谢谢了
...全文
518
13
打赏
收藏
股票数据库设计,望高手指点
要为公司建立一个股票历史数据库, 主要用来查询,当然还有数据的更新,插入 基本上是近几年的历史数据,记录的是每分钟的数据,每条记录包括时间,价格,成交量等,一年每只股票就有数十万条记录。股票加上外汇基金等有数万只, 比较容易想到的两个方案: 1、建一个数据库,把这些历史数据都放在一个表里, 数据量太大 2、为每个股票单独做表,表太多了 大家都投个意见吧,谢谢了
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jinguanding
2009-11-24
打赏
举报
回复
1.可以把股票,外汇,基金分为三类分别存储,因为三类之间的发生关系的业务操作可能性不大
2.每个分类建议是使用分区表的方式存储,可以按年创建分区
备注:可以考虑先创建好5-10年的分区(或者写个 SHELL脚本自动创建)
若是决定不够细分:再月创建子分区,分为两级分区
或者按年分表,再按月创建分区
3.使用分区或分表的好处,可以方便地定期删除多少年前的数据
wondyfox
2009-11-24
打赏
举报
回复
对一种股票建表,然后再考虑数据量,根据时间来分表,做成,一种股票一个序列的数据表,以此建仓
hhh_hao
2009-11-24
打赏
举报
回复
还有其他的想法的吗?
hhh_hao
2009-11-19
打赏
举报
回复
谢楼上的,像外汇这些是一天24小时交易的
vinsonshen
2009-11-19
打赏
举报
回复
时间上分表,可以根据你的数据量及主要应用的查询来灵活组合。
vinsonshen
2009-11-19
打赏
举报
回复
一年每只股票就有数十万条记录。股票加上外汇基金等有数万只,
主要用于查询某只股票某个时间段数据的查询
------------------------------------
按时间分表即可,每表按股票代码建立索引
因为你是以查询为主,可以在架构上建立master-多slave的架构,再结合lvs访问多slave,这样的架构扩展性强,很容易满足扩展你查询的容量负荷。
WWWWA
2009-11-19
打赏
举报
回复
外汇这些是一天24小时交易的:建议用ORACLE之类的大型数据库,性能、安全性比较高
ACMAIN_CHM
2009-11-19
打赏
举报
回复
哦,不了解外汇,学习了。
那建议你直接用数据文件了。一个股票一个文件,这样速度可以达到最快。
这样,日期你可以直接打开二进制文件直接定位。
ACMAIN_CHM
2009-11-18
打赏
举报
回复
一年 250 天 * 4 小时/天 * 60 分钟/小时 = 60000 记录,并没有你所说的
一年每只股票就有数十万条记录。
每条记录包括(股标代码)时间,价格,成交量等,约 80-100字节。
一年60000记录*100Bytes = 6MB
近几年的历史数据
估计在30MB左右。 问题并不大。
但你
股票加上外汇基金等有数万只
20000 * 30MB = 600GB 。这个数据库不算小了。
如果你的需求仅是
主要用于查询某只股票某个时间段数据的查询
则你还不如直接用数据文件来存储,一个股票一个文件,这样速度可以达到最快。
ACMAIN_CHM
2009-11-18
打赏
举报
回复
[Quote] 主要用于查询某只股票某个时间段数据的查询[/Quote]
如果查询都是基于 select * from tbl where data between xxx and yyy and stockid=123
这样,你可以使用方案二。不过仍然建议你使用时间做为分区表。
hhh_hao
2009-11-18
打赏
举报
回复
主要用于查询某只股票某个时间段数据的查询
WWWWA
2009-11-18
打赏
举报
回复
你估计数据量多大,有多少人使用,要查询多少只股票,
一年每只股票就有数十万条记录,如果有1000只股票的话,就是1亿条记录
似乎MYSQL不适合这么大的数据量
ACMAIN_CHM
2009-11-18
打赏
举报
回复
你的主要查询应用是什么?
如果只是查某个股票,则可以选用你的方案二,每个一张表
但如果你需要查询本日最高,最低这种分析,则建议使用方案一,一张表。
如果你的查询经常基于时间来查,则可以考虑分区表。
我在CSDN参与的3000个帖子
今日偶然翻到,感慨万千 1:申述:版主,是否扣了我的专家分? 2:100分急求,随机输出十个小写字母,但是,要求这十个字母不相同 3:求Sn=a+aa+aaa+…+aaa…a(n个a)之值 4:数组题 望
高手
帮忙! 5:呵呵,来推荐一下我的网站,本站提供大量当今流行的免费的音乐和免费电影,常用软件、游戏、精美图库下载,希望对网友有帮助!顺便散分! 6:VBA请教怎
测试dddd
--------------------------------------------我也来试着分析下你想以低价来占领市。--------------------------------------------------------------如果按一天 5000 营业额来算,也有 500 元,也过得。比方说,你有 10 万元,第一年增值 20%,就变成 12 万,第二年也增值 20%,那可不是 14 万。
国企,私企与外企利弊通观--关键时刻给应届毕业生及时点拨
各位朋友: 在我自己十几年的工作经历中,从国家事业单位开始,陆续在小的民营企业、国内很强的民营企业(华为公司)、网络公司、世界500强外企(IBM和 HP)工作,期间走了一些弯路,也留下了很多经验教训。在回首这些年的职业经历时,颇多感慨:要是在关键的一些时间点上,能有高人
指点
,或者自己再多知道 一些关于职场的道理,也许这一路会走得顺畅很多,也会轻快很多。可是人生不能假设,也无法重来,不管怎样,遗...
80后的创业新贵
2012年的创业新贵开始接班? 创业邦_文/刘恒涛 摄影/路马视觉 大概在五年前,当媒体推出“80后创业者”这个概念的时候,公众着实兴奋了一阵子,当时互联网格局初定,马化腾们基本站稳。人们期望,在这个属于年轻人的领域,80后能冲击既有格局,和马化腾们一争高下。 但事实上,他们“辜负”了好事者的希望。几年之后,他们没能冲击互联网格局,四位80后,其中有两位,伴随着人们的争议,基本销
CSDN回帖得分大全(近两年)
√vs2005调用dll的时候Initialize()函数返回错误 [VC/MFC 基础类] 40 ylongwu 05-21 20:486 ylongwu06-28 13:42管理√为什么我创建登陆框之后,然后获取登陆框的数据时候总是出现非法操作! [VC/MFC 界面] 40 chencheng8095 05-23 00:2911 xianglitian06-10 11:51管理√CFileFind::FindFile 支持通配符么? [VC/MFC 基础类] 100 wysbk002 05-22
MySQL
56,677
社区成员
56,708
社区内容
发帖
与我相关
我的任务
MySQL
MySQL相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MySQL相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章