MySQL,一个领域还是多个领域更安全?

时间:2015-04-16 11:20:30

标签: mysql database field

我使用PHP和MySQL。假设我存储了许多ID以供日后使用。

示例

输入后会有一个新值。这可能是一个数组。

prefix-1232
pref-5453
prefix54432
pref-2233

随着时间的推移,我希望为这个“数组”添加更多ID,或者它可能最终成为什么。在我看来,我有两个选择。

1。将值保存为MySQL中的一个大值,可能是json转换后的数组。

好处是它的构建速度更快。我的问题的另一个缺点是,如果这种方法不安全,我会同时保存所有ID吗?如果出现错误,所有值将立即丢失。

2。将每个值保存为新表中的新行(已编辑,而不是数据库)

好处是,如果我影响一行,其余值不受影响。缺点是它需要更多的时间来构建,可能会产生其他错误。

哪种方法最安全,最正确?为什么?

1 个答案:

答案 0 :(得分:3)

正常的SQL解决方案是将每一行添加为新(而不是新的数据库)中的单独行。这有很多好处:

  • 插入很简单 - 只需在表格中插入一行即可。
  • 删除值很简单 - 只需从表中删除一行。
  • 删除重复项很容易 - 甚至可以由数据库强制执行。
  • 查找单个值的存在很容易 - 并且可以使用索引。

我希望将值存储在JSON数组中的唯一时间(在我看来)就是当你以这种方式获取数据而你只想返回整个值时。该数组本质上是一个blob。在具有解析此类值的本机JSON支持的数据库中,这种观点不太强烈。