【问题标题】:mysql: using one field to contain many "fields" to save on fieldsmysql:使用一个字段包含许多“字段”以保存字段
【发布时间】:2011-04-20 12:09:47
【问题描述】:

我有一个项目需要一个 Excel GUI(客户的请求)和一个需要近 90 个字段的后端 mysql 数据库/表。 (近 60 个字段是 6 个字段的重复。)

经过深思熟虑,我最终创建了一个包含 11 个字段的表格:10 个可搜索字段,以及一个 big 字段,其中“一起”最多可以包含 60 个字段,以“:”分隔

因此,该 big 字段上的记录将如下所示:

charge1:100:200:200::usd:charge2:1000:2000:2000::usd:charge3:150:200:200:250:USD ,等等

如您所见,这些是 6 个字段的块,最多可以是这些“块”中的 10 个,但总共不能超过 255 个字符。

这些“字段”都不需要被索引或搜索(在其他 10 个字段上完成)

我正在做的是对 11 个字段进行“SELECT *”查询(使用 Excel GUI),然后(使用 VBA)将这些值分隔到列中(这需要不到 1 秒的时间)。 使用 VBA,我可以在 Excel“表单”中的某些字段上显示数据。

这工作正常,我对结果非常满意,因为我一直在寻找一种轻便、简单且超快速的解决方案,而且确实如此。

不这样做是否有“技术”原因?

也许字符太多的字段可能会出现问题????

我知道有很多方法可以处理这个问题,但这是一个小项目,我正在寻找一个简单的解决方案,而不是一个复杂的解决方案(表格和/或字段太多)

由于 GUI 是一个 excel 界面,如果不需要的话,我不想让它太复杂。

提前感谢您的意见。

【问题讨论】:

    标签: mysql excel field


    【解决方案1】:

    我认为您已经对可能出现的问题有了一个很好的了解。

    索引在这些字段上并不能很好地工作,更新和读取单个值需要在您的应用程序中进行额外的工作。

    此外,您在字符串类型的列中存储看起来最像数字的内容,因此这意味着需要一些额外的存储空间(尽管您必须权衡单独列的一些开销)。

    当这些列的结构发生变化时,它可能会变成一场噩梦。

    所有这些对你来说都是可以应付的,但你之后的开发者完全有可能会恨你。 :p

    【讨论】:

    • 感谢您的输入 是的,我知道这不是最好的解决方案,但是我不认为这是一个包含近 100 个字段的表格。请注意,大字段不需要索引。所有搜索值都在其他字段中。
    • @griseldataborda:我根本不想质疑你的设计决定。我试图提出您尚未想到的场景,您的系统可能存在问题,例如结构更改,或者可能突然需要在这些列中进行搜索。正如我所说,看起来您已经做出了明智的决定。
    • sorry sorry sorry...不是故意听起来不好或什么的。我非常感谢您的 cmets...我只是希望我有更多的知识来提出其他/更合适的解决方案
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-29
    • 2022-10-15
    • 2017-02-05
    • 2011-09-21
    • 1970-01-01
    相关资源
    最近更新 更多