gpt4 book ai didi

mysql - 如何在mysql表中存储多个值

转载 作者:太空宇宙 更新时间:2023-11-03 11:31:45 24 4
gpt4 key购买 nike

这可能是一个愚蠢的问题,但我希望有人能给出答案或知道如何解决我的问题。我有存储在 xml 文件中的 cdr/调用详细记录,并且根据调用类型,它们在每次调用中看起来都不同。例如

<Features> 
<Feature>UnconditionalCallForwarding</Feature>
<Feature>LegPartOfForwardedCall</Feature>
</Features>

此调用有 2 个在调用时使用的功能,但它可能是 3 个甚至 4 个。我不会创建一个单独的表来存储调用的功能,因为插入额外的记录也会清理这些功能是一个性能问题记录被回收后的表。我们在这里谈论的是每天 100 万条以上的记录,因此性能是一个问题。所以我想知道将列表存储在带有某种分隔符的 txt 中是否有意义,我可以在 sql 查询中轻松解析它。

最佳答案

使用多个表。不要在 sql 字段中存储分隔文本,它会破坏关系表结构的目的,并产生额外的工作。

您拥有的是一对多关系。处理它的最佳方法是拥有第二张 table 。试试这个例子:

表:CallFeatures列:Id、CallId、FeatureName

将 CallId 设为 Calls 表的外键。然后,您只需在查询调用时加入表即可获取功能。

注意:如果您在执行 JOIN 查询时有多个功能,您将获得多行。如果您想将结果格式化为报告或其他输出格式,则需要进一步调查。这只是一种解析和存储特征的方法。

关于mysql - 如何在mysql表中存储多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49262807/

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