Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在MySQL数据库中存储股票价格

在MySQL数据库中存储股票价格
EN

Stack Overflow用户
提问于 2021-09-21 16:22:35
回答 2查看 749关注 0票数 1

我正在创建一个网站,根据历史的每日股票报价进行计算。现在,我有5个表对应于字母中的不同字母(按符号排列)。

这是我用来构建表的create语句的一个例子。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CREATE TABLE `EOD_QRSTU` (
  `symbol` varchar(10) NOT NULL,
  `open` decimal(10,5) DEFAULT NULL,
  `close` decimal(10,5) DEFAULT NULL,
  `high` decimal(10,5) DEFAULT NULL,
  `low` decimal(10,5) DEFAULT NULL,
  `volume` int(11) DEFAULT NULL,
  `date` datetime NOT NULL,
  PRIMARY KEY (`date`,`symbol`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

最常见的查询是在两个日期之间为特定符号选择行。例如,这个表现在大约有50万行,需要8秒才能在两年的范围内返回特定符号的大约400行。为什么要花这么长时间?雅虎财经()这样的网站是如何如此迅速地载入它们的图表的?我一直在考虑将每只股票的数据存储在它自己的文件系统中,而不是,有人能对这种方法提供一些见解吗?如果这样速度足够快,我甚至不需要限制返回的行数,我可以简单地返回文件中的每一行。CSV是一种合适的文件格式吗?

如果重要的话,我现在使用PythonAnywhere托管站点,后端使用。我还计划很快迁移到AWS,这会解决部分问题吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-09-21 17:11:25

重新排序主键,并将symbol放在date之前。

当索引的固定部分( symbol )位于搜索范围部分( date )之前时,索引工作最好。

通过查看explain {query}并查看使用了多少字节的索引和查询计划来检查这一点。

如果只使用symbol字符集,也不要使用ascii字符集。

票数 2
EN

Stack Overflow用户

发布于 2021-09-21 18:52:19

我同意丹布莱克的回答(PK列命令,字符集)

DECIMAL(10,5)对BRK.A来说还不够大,目前为412,802美元。INT不足以满足多个索引的volume

您可能希望在所有列上使用NOT NULL

一个不同的文件系统可能帮不了什么忙。

使用InnoDB。句号。句号。

你有多少内存?innodb_buffer_pool_size的价值是什么?你有HDD还是ssd?听起来您的表比1GB少得多,所以我预计大部分时间都会在RAM中完全缓存。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69276880

复制
相关文章
在python中操作MySQL数据库
本篇主要介绍如何使用pymysql操作数据库,下面直接进入正文 1.查询数据 # coding: utf-8 # author: hmk import pymysql.cursors # 连接数据库 conn = pymysql.connect(host='localhost', # 数据库地址 port=3306, #端口默认是3306,不写这个也可以,如果不是3306则需要在此声明 user='root',
冰霜
2022/03/15
4.5K0
MySQL---数据库从入门走向大神系列(八)-在java中执行MySQL的存储过程
http://blog.csdn.net/qq_26525215/article/details/52143733
谙忆
2021/01/21
1.1K0
MySQL---数据库从入门走向大神系列(八)-在java中执行MySQL的存储过程
MySQL数据库:存储引擎
存储引擎是MylSQL的核心,是数据库底层软件组织,数据库使用存储引擎进行创建、查询、更新和删除数据。不同的存储引擎提供不同的存储机制、索引技巧、锁级别、事务等功能。存储引擎是基于表的,而非数据库。
全栈程序员站长
2022/06/29
5.6K0
MySQL数据库:存储引擎
Mysql数据库-存储过程
好了,目前我们已经大概理解了什么是 用户变量,然后我们就可以开始学习使用 用户变量 来进行 参数传递 的使用了。
Devops海洋的渔夫
2022/01/17
11K0
Mysql数据库-存储过程
Mysql数据库-存储引擎
和大多数的数据库不同, MySQL中有一个存储引擎的概念, 针对不同的存储需求可以选择最优的存储引擎。
Devops海洋的渔夫
2022/01/17
5.1K0
Mysql数据库-存储引擎
MySQL数据库存储引擎
数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建,查询,更新和删除数据 不同的存储引擎提供不同的存储机制,索引技巧,锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能,现在许多不同的数据库管理系统都支持多种不同的数据引擎
编程思维
2023/03/24
5.5K1
MySQL数据库存储引擎
python在mysql数据库中存取emoji😀
emoji就是我们聊天的时候的特殊表情, 是特殊字符(非字符串), unicode编码起始为 1F600 , 占用4个字节, 不同的终端显示可能不同,但是都是表示的同一个对象.
大大刺猬
2022/11/25
3.7K0
MySQL数据库之存储过程与存储函数
        存储过程和存储函数类似于面向对象程序设计语言中的方法,可以简化代码,提高代码的重用性。本文主要介绍如何创建存储过程和存储函数,以及存储过程与函数的使用、修改、删除等操作。
星哥玩云
2022/08/17
7K0
MySQL数据库之存储过程与存储函数
在Cookie中存储对象
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/details/46955119
DannyHoo
2018/09/13
3.8K0
tcpdump在mySQL数据库中的应用实践
tcpdump在我们平时运维中充当了很重要的角色,对复杂问题的排查、分析起到了至关重要的作用,确实为运维中的一大利器。
MySQL数据库技术栈
2020/08/05
5.2K0
tcpdump在mySQL数据库中的应用实践
MySQL中的存储引擎
MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。
changxin7
2019/09/10
1.8K0
查看mysql数据库存储大小
select concat(round(sum(data_length/1024/1024),2),‘MB’) as data from tables;
chimchim
2022/11/13
10.3K0
在Python3中操作MySQL数据库
第一步:打开数据库连接 db = pymysql.connect(host="数据库地址",                     user="用户名",                     password="密码",                     port="端口",                     database="数据库名",                     charset='utf8')
星哥玩云
2022/08/18
2.1K0
审计对存储在MySQL 8.0中的分类数据的更改
使用敏感信息时您需要拥有审计日志。通常,此类数据将包含一个分类级别作为行的一部分,定义如何处理、审计等策略。在之前的博客中,我讨论了如何审计分类数据查询。本篇将介绍如何审计对机密数据所做的数据更改。
MySQLSE
2020/11/25
4.7K0
【MySQL数据库】详细讲解MySQL的存储引擎
InnoDB是一种兼顾可靠性和高性能的通用存储引擎,在MySQL5.5之后,InnoDB是默认的MySQL存储引擎
在下小吉.
2023/09/13
3140
【MySQL数据库】详细讲解MySQL的存储引擎
mysql—mysql中如何存储日期数据
1,特点 1)以YYYY-MM-DD HH:MM:SS[.fraction]格式存储日期时间,在mysql5.6前可以只能存储到秒,在5.6后能存储到微秒 2)datetime类型与时区无关,占用8个字节的存储空间 3)时间范围公元1000-01-01 00:00:00到9999-12-31 23:59:59,存储的时间范围非常广
全栈程序员站长
2021/04/07
5K0
在MySQL数据库中从表里随机获取数据
在很多应用场景下,我们需要从数据库表中随机获取一条或者多条记录。这里主要介绍对比两个方法。
Gujiu
2022/09/16
9.5K0
在.NET中调用存储过程
因为做项目要用到数据库,因此存储过程是必不可少的,看了一点如何在.NET中调用存储过程的资料,颇有点心得,觉得这个东西是当用到数据库的时候必须要会的一项技术。下面是它的定义:
SAP梦心
2022/05/07
2.2K0
点击加载更多

相似问题

存储和查询股票价格的数据库选择

13

将MySQL凭据存储在MySQL数据库中

310

在MySQL数据库中存储图片

12

在mysql数据库中存储CSS

20

在Mysql数据库中存储列表

15
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文