SQL 中的列逻辑
Column Logic in SQL
第一次发帖!我想在这里听取人们的意见。我正在收集过去 10 年的每日股票数据(所以大约 2500 行数据并不重要),但是我有超过 200 只股票(可能会随着时间的推移增加到 1000 只),每只股票大约有 30 个单独的字段。所以我们谈论的是一个 table,它最初有 6000 列,有一天会增长到超过 30000 列,但更恰当地说,也许一开始只有 6000-10000 列。我认识到 SQL 数据库可能不是最好的方法,有许多 'big data' 程序,如 mongodb、hadoop 等,但我从未使用过它们(仅 SQL)
任何人都可以阐明将其存储在 SQL 中的最佳方式。我知道每个 table 限制为 1024 列,有人建议我将其分成 10 多个单独的 table 吗?我对这对性能的影响感兴趣吗?
请注意,每只股票及其特征将与数据库中的所有其他股票互斥。
期待意见
我不明白为什么你有这么多不同的专栏。每个时间单位每个股票应该有一行。我会设想一个包含几十列的结构:
- 股票代码
- 日期(或date/time)
- 每只股票大约 30 个指标
您似乎想要将内容存储在应该成行的列中。
这是一个大小合理的数据集,但可能只有几百万行和几千兆字节。数据库支持更大的数据集。
这么多栏是一种设计味道。
但是,MySQL 在一个 table 中最多只支持 4096 列。 CREATE TABLE
statement 的文档摘录:
There is a hard limit of 4096 columns per table, but the effective maximum may be less for a given table and depends on the factors discussed in Section D.10.4, “Limits on Table Column Count and Row Size”.
第一次发帖!我想在这里听取人们的意见。我正在收集过去 10 年的每日股票数据(所以大约 2500 行数据并不重要),但是我有超过 200 只股票(可能会随着时间的推移增加到 1000 只),每只股票大约有 30 个单独的字段。所以我们谈论的是一个 table,它最初有 6000 列,有一天会增长到超过 30000 列,但更恰当地说,也许一开始只有 6000-10000 列。我认识到 SQL 数据库可能不是最好的方法,有许多 'big data' 程序,如 mongodb、hadoop 等,但我从未使用过它们(仅 SQL)
任何人都可以阐明将其存储在 SQL 中的最佳方式。我知道每个 table 限制为 1024 列,有人建议我将其分成 10 多个单独的 table 吗?我对这对性能的影响感兴趣吗?
请注意,每只股票及其特征将与数据库中的所有其他股票互斥。
期待意见
我不明白为什么你有这么多不同的专栏。每个时间单位每个股票应该有一行。我会设想一个包含几十列的结构:
- 股票代码
- 日期(或date/time)
- 每只股票大约 30 个指标
您似乎想要将内容存储在应该成行的列中。
这是一个大小合理的数据集,但可能只有几百万行和几千兆字节。数据库支持更大的数据集。
这么多栏是一种设计味道。
但是,MySQL 在一个 table 中最多只支持 4096 列。 CREATE TABLE
statement 的文档摘录:
There is a hard limit of 4096 columns per table, but the effective maximum may be less for a given table and depends on the factors discussed in Section D.10.4, “Limits on Table Column Count and Row Size”.