歪枣网数据库设计-千万级别海量数据查询效率优化

由于歪枣网上的金融数据查询接口,主要是股票、基金的历史数据,数据量其实是非常大的,有兴趣的可以去逛逛网站。一只股票的 历史日/周/月K线数据将近三万条(包括前复权、不复权、后复权),将近上亿条数据。SQL查询语句设计不合理,查询K线数据其实是非常耗时。以前没弄过大数据的查询,查询一条K线数据居然耗时两分钟,吓了歪哥一跳。后面当然就是Mysql调优了。
大体做了几件事。
1、将查询的Mysql语句打印出来,由于使用的是Springboot 集成的Jpa框架配置文件中将开关打开spring.jpa.show-sql=true
2、使用explain 关键字查看mysql执行sql语句的时候,是否使用索引,使用了哪类索引等。explain关键字还挺有用,可以网上了解更多。使用索引,将大大减少查询时间。
索引其实就是空间换时间,如果你重新创建一个索引,你会发现会占用你很大的磁盘空间。索引可以通俗的理解为书的目录,可以方便快速定位。
3、合理设计mysql数据表
每个字段设计,采用合适的数据类型,比如能用一个字节的TINYINT,就不需要用4个字节的INT类型。
日期类型尽量用Date,不需要用字符类型存储,Date类型只占用四个字节。关于Mysql字段类型,可以网上查询下。
4、建立合理的索引
首先根据业务需要,长用来作为查询条件的几个字段,可以考虑作为一个索引。还有就是主键索引,在插入数据的时候,由于设计了主键,不必要再查询或者删除历史数据,直接覆盖即可,也不会带入脏数据。
最后查询效率提升了N倍,有兴趣的可以上歪枣网体验一把效率。
网站:www.waizaowang.com
歪哥将下一篇博客将列出一些整理了些资料,关于Mysql查询效率优化的,资料来源网上。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值