在数据库中存储 100K 个不同的表
Storing 100K different tables in DB
我有大约 10 万组 table,它们是 2,3 或 4 列。每个 table 大约有 5-10 行数据。但是每一列都有自己唯一的列名和数据类型。这是 100K tables 列名称中的 6 个示例,大约 10 行。
属性 姓名 |默认类型 |说明 |参考文献
类型 | 属性 |说明 |参考
代码 |说明 |参考
价值 |参考
类型 |说明 |参考文献
个数 |说明 |参考
此时所有内容都存储在 100K html 文件中,但我想将它们存储在数据库中。我想知道是否有人对如何以尽可能少的 tables 存储它们有任何建议。
当时想到的解决方案是:
- 创建大约 100K table 秒(最后一个解决方案)
- 有三组 tables,4+1col,6+1col 和 8+1col,使用奇数列作为列标题,偶数列作为值。每行都引用了一个外键,该外键指定了此数据的位置。查询它们的 bashed 列名和外键可以检索我的数据。
我想知道是否有人对此有更好的解决方案?
您可以将 html 文件转换为 CSV 格式 stated here 并将数据导入 mysql 数据库。
100K tables 既是糟糕的设计又可能是糟糕的性能。由于每个 table 是使用 1-3 个文件实现的,因此您依赖于 OS 的文件查找效率。另外,MySQL table 缓存不是为这样的大量数据设计的。
另一方面,MySQL 很乐意处理一百万行 table。或者少量大tables.
CSV 文件的区别是什么?那会不会是它进入的 table 中的另一个 'column'?然后将所有具有 相同 结构(例如,Value + Ref)的文件放入 table 中,这些列再加一列?
考虑以这种方式进行加载:
CREATE TABLE
LOAD DATA
将一个文件放入 table
- 在SQL中对其进行操作(如有必要)并将其复制到最终的table中(
INSERT ... SELECT ...
)
然后对每个文件重复。
对于 10 万个文件,您可能想要编写一个程序来创建执行 10 万个步骤的代码。
我有大约 10 万组 table,它们是 2,3 或 4 列。每个 table 大约有 5-10 行数据。但是每一列都有自己唯一的列名和数据类型。这是 100K tables 列名称中的 6 个示例,大约 10 行。
属性 姓名 |默认类型 |说明 |参考文献
类型 | 属性 |说明 |参考
代码 |说明 |参考
价值 |参考
类型 |说明 |参考文献
个数 |说明 |参考
此时所有内容都存储在 100K html 文件中,但我想将它们存储在数据库中。我想知道是否有人对如何以尽可能少的 tables 存储它们有任何建议。
当时想到的解决方案是:
- 创建大约 100K table 秒(最后一个解决方案)
- 有三组 tables,4+1col,6+1col 和 8+1col,使用奇数列作为列标题,偶数列作为值。每行都引用了一个外键,该外键指定了此数据的位置。查询它们的 bashed 列名和外键可以检索我的数据。
我想知道是否有人对此有更好的解决方案?
您可以将 html 文件转换为 CSV 格式 stated here 并将数据导入 mysql 数据库。
100K tables 既是糟糕的设计又可能是糟糕的性能。由于每个 table 是使用 1-3 个文件实现的,因此您依赖于 OS 的文件查找效率。另外,MySQL table 缓存不是为这样的大量数据设计的。
另一方面,MySQL 很乐意处理一百万行 table。或者少量大tables.
CSV 文件的区别是什么?那会不会是它进入的 table 中的另一个 'column'?然后将所有具有 相同 结构(例如,Value + Ref)的文件放入 table 中,这些列再加一列?
考虑以这种方式进行加载:
CREATE TABLE
LOAD DATA
将一个文件放入 table- 在SQL中对其进行操作(如有必要)并将其复制到最终的table中(
INSERT ... SELECT ...
)
然后对每个文件重复。
对于 10 万个文件,您可能想要编写一个程序来创建执行 10 万个步骤的代码。