我使用PHP和MySQL。假设我存储了许多ID以供日后使用。
示例
输入后会有一个新值。这可能是一个数组。
prefix-1232
pref-5453
prefix54432
pref-2233
随着时间的推移,我希望为这个“数组”添加更多ID,或者它可能最终成为什么。在我看来,我有两个选择。
1。将值保存为MySQL中的一个大值,可能是json转换后的数组。
好处是它的构建速度更快。我的问题的另一个缺点是,如果这种方法不安全,我会同时保存所有ID吗?如果出现错误,所有值将立即丢失。
2。将每个值保存为新表中的新行(已编辑,而不是数据库)
好处是,如果我影响一行,其余值不受影响。缺点是它需要更多的时间来构建,可能会产生其他错误。
哪种方法最安全,最正确?为什么?
答案 0 :(得分:3)
正常的SQL解决方案是将每一行添加为新表(而不是新的数据库)中的单独行。这有很多好处:
我希望将值存储在JSON数组中的唯一时间(在我看来)就是当你以这种方式获取数据而你只想返回整个值时。该数组本质上是一个blob。在具有解析此类值的本机JSON支持的数据库中,这种观点不太强烈。