gpt4 book ai didi

mysql - 超过 10000 列的表的最佳结构

转载 作者:搜寻专家 更新时间:2023-10-30 19:58:04 25 4
gpt4 key购买 nike

我正在将一组数据挖掘算法应用于由一组客户组成的数据集以及大量描述性属性,这些属性总结了他们过去行为的各个方面。有超过 10,000 个属性,每个属性都存储为表中的一列,以客户 ID 作为主键。由于多种原因,有必要预先计算这些属性而不是即时计算它们。我通常会尝试选择具有指定属性集的客户。这些算法可以在单个 SELECT 语句中将任意数量的这些属性组合在一起,并连接所需的表。所有表格的行数都相同(每个客户一个)。

我想知道构建这些属性表的最佳方式是什么。最好将属性分组到 20-30 列的表中,平均需要更多的连接但每个 SELECT 的列更少,或者具有最大列数的表以最小化连接数,但可能所有 10K 列都连接在一次?

我还考虑过使用一个巨大的 3 列客户 ID 属性值表并在其中存储所有信息,但是构建一个“选择具有我需要的这些属性类型查询的所有客户”会更难。

我使用的是 MySQL 5.0+,但我认为这是一个一般的 SQL-ish 问题。

最佳答案

根据我的经验,使用包含 10,000 列的表是非常非常非常糟糕的主意。如果将来这个数字会增加怎么办?

如果有很多属性,则不应使用水平缩放表(具有大量列)。您应该创建一个新表 attributes 并将所有属性值放入其中。然后将这张多对一关系的表连接到主入口表

也许第二种方法是使用非 SQL(如 MongoDB)系统

关于mysql - 超过 10000 列的表的最佳结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11075412/

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