可以将所有类型的值存储为sql中的图像数据类型吗?

时间:2012-02-29 11:01:08

标签: sql image store

将不同数据类型的数据存储为单个通用数据类型,在SQL中说“图像”是否可以?我还将数据类型值存储在另一列中,并在我的代码中使用此值将数据转换回其正确的类型。 这样做的好处 - 我可以避免加入n个表。 有人能指出以这种方式存储数据的缺点吗?

2 个答案:

答案 0 :(得分:2)

出于以下几个原因,这是一个非常糟糕的主意:

  • 查询性能不佳,因为优化器不能使用索引,外键等因为它们不存在。
  • 您没有获得参照完整性,因此不能对您的数据做出任何假设。
  • 您引入了一个新的附加故障点,因为如果数据与指定的数据类型不对应怎么办?
  • 在你讨厌你之后必须维护代码的人。

答案 1 :(得分:1)

我认为至少有两个原因采取这种方法是不明智的

  1. 你会注意到,在输入和输出上你会经常输入类型。我不认为这是一个有用的操作,虽然我认为这是一个耗时的操作。
  2. 你会把加入N表的(适度的)困难换成(更不那么适度)难以在你的一个母亲所有的桌子上进行N连接。
  3. 然后还有更多的哲学论点,就像你提议使用多工具(SQL)一样,就像锤子一样。并非每种数据类型都是钉子。如果你工作而不是反对工具的本质,我会更有效率,并且我会主张更多地享受你的工作。

    我同意Daniel Hilgarth已经写过的内容。