MySQL,一个字段还是多个字段哪个更安全?
What is more safe in MySQL, one field or many?
我使用 PHP 和 MySQL。可以说我存储了很多 ID 供以后使用。
例子
输入后有一个新值。这可能是一个数组。
prefix-1232
pref-5453
prefix54432
pref-2233
随着时间的推移,我想为这个 "array" 添加更多的 ID 或者它可能最终成为什么。在我看来,我有两个选择。
1.将值保存为 MySQL 中的一个大值,可能作为 json 转换数组。
好处是构建速度更快。缺点也是我的问题是这种方法是否不安全因为我同时保存了所有 ID?如果出现错误,所有值将立即丢失。
2。将每个值作为新行保存在新 table(已编辑,而非数据库)
这样做的好处是,如果我影响一行,则其余值不会受到影响。缺点是构建需要更多时间,并且可能会出现其他错误。
哪种方法最安全、最正确,为什么?
正常的 SQL 解决方案是将每一行作为单独的行添加到新的 table(不是新的 数据库)。这有很多好处:
- 插入很简单——只需将一行插入 table。
- 删除一个值很容易——只需从 table.
中删除一行
- 删除重复项很容易 -- 甚至可以由数据库强制执行。
- 查找单个值的存在很容易 -- 并且可以使用索引。
唯一一次(在我看来)您想要将值存储在 JSON 数组中的时候是您以这种方式获取数据并且您只想 return 整个值.该数组本质上是一个 blob。在具有对解析此类值的本机 JSON 支持的数据库中,这种观点不太强烈。
我使用 PHP 和 MySQL。可以说我存储了很多 ID 供以后使用。
例子
输入后有一个新值。这可能是一个数组。
prefix-1232
pref-5453
prefix54432
pref-2233
随着时间的推移,我想为这个 "array" 添加更多的 ID 或者它可能最终成为什么。在我看来,我有两个选择。
1.将值保存为 MySQL 中的一个大值,可能作为 json 转换数组。
好处是构建速度更快。缺点也是我的问题是这种方法是否不安全因为我同时保存了所有 ID?如果出现错误,所有值将立即丢失。
2。将每个值作为新行保存在新 table(已编辑,而非数据库)
这样做的好处是,如果我影响一行,则其余值不会受到影响。缺点是构建需要更多时间,并且可能会出现其他错误。
哪种方法最安全、最正确,为什么?
正常的 SQL 解决方案是将每一行作为单独的行添加到新的 table(不是新的 数据库)。这有很多好处:
- 插入很简单——只需将一行插入 table。
- 删除一个值很容易——只需从 table. 中删除一行
- 删除重复项很容易 -- 甚至可以由数据库强制执行。
- 查找单个值的存在很容易 -- 并且可以使用索引。
唯一一次(在我看来)您想要将值存储在 JSON 数组中的时候是您以这种方式获取数据并且您只想 return 整个值.该数组本质上是一个 blob。在具有对解析此类值的本机 JSON 支持的数据库中,这种观点不太强烈。