gpt4 book ai didi

mysql - 在数据库中存储 100K 个不同的表

转载 作者:可可西里 更新时间:2023-11-01 08:40:18 25 4
gpt4 key购买 nike

我有大约 100K 组表,它们是 2,3 或 4 列。每个表大约有 5-10 行数据。但是每一列都有自己唯一的列名和数据类型。这是 100K 表列名称中的 6 个示例,大约 10 行。

属性名称 |默认类型 |说明 |引用

类型 |属性(property) |说明 |引用

代码 |说明 |引用

值(value) |引用

类型 |说明 |引用

数量 |说明 |引用

此时所有内容都存储在 100K html 文件中,但我想将它们存储在数据库中。我想知道是否有人对如何使用尽可能少的表存储它们有任何建议。

当时想到的解决方案是:

  1. 创建大约 10 万张表(最后的解决方案)
  2. 有三组表格,4+1col、6+1col 和 8+1col,使用奇数列作为列标题,偶数列作为值。每行都引用了一个外键,该外键指定了此数据的位置。查询它们的 bashed 列名和外键可以检索我的数据。

我想知道是否有人对此有更好的解决方案?

最佳答案

100K 表既是糟糕的设计,也可能是糟糕的性能。由于每个表都是使用 1-3 个文件实现的,因此您依赖于操作系统的文件查找效率。此外,MySQL 表缓存并不是为这样的大量数据而设计的。

另一方面,MySQL 很乐意处理百万行的表。或者少量的大表。

CSV 文件与其他文件的区别是什么?那可能是它进入的表中的另一个“列”吗?然后将具有相同结构(例如,Value + Ref)的所有文件放入一个包含这些列的表中,然后再加一列?

考虑以这种方式进行加载:

  1. 创建表
  2. LOAD DATA 将一个文件放入该表
  3. 在 SQL 中对其进行操作(如有必要)并将其复制到最终表中(INSERT ... SELECT ...)

然后对每个文件重复。

对于 10 万个文件,您可能想要编写一个程序来创建执行 10 万个步骤的代码。

关于mysql - 在数据库中存储 100K 个不同的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34257147/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com