【发布时间】:2017-04-04 17:43:06
【问题描述】:
当用户可以为一个看起来像这样的提供者 (idProveedor) 选择许多可用项目 (idFamilia) 时,我有一个 Web 表单
值保存在此表中
-----------------------------
| idProveedor | idFamilia |
-----------------------------
| 5 | 1 |
-----------------------------
| 5 | 2 |
-----------------------------
| 6 | 2 |
-----------------------------
提供者创建后,可以对其进行编辑,并且可以更改为 idFamilia 选择的值。所以我有三种不同的可能发生的情况:
- 行数保持不变,我只需要编辑 idFamilia 的值。
- 从选择中删除了一些项目,我需要搜索表中的值并删除这些行。
- 添加了新项目,我需要插入这些附加值。
现在我正在考虑使用正在编辑的 idProveedor 删除所有行,然后插入新的选择。
这是一个好习惯吗?从长远来看,这会影响性能吗?
您能否推荐一个教程或示例以另一种方式进行操作?
【问题讨论】:
-
更新只会使用较少的处理来更新指定的字段,而如果您计划进行检查等安全/错误预防,则删除/插入会进行更多的处理和更多的错误空间。如果您要删除/插入的行的 ID 有任何依赖于该 ID 的内容,您还需要仔细考虑
-
在执行删除然后插入时,您绝对不会在性能方面获得任何好处。为什么?因为无论您执行删除还是更新,系统都必须找到该行。为什么系统要做这么多工作却没有明显的好处?
-
好吧,这个表的 ID 没有任何依赖它们的东西。我想我最终会做删除插入,我正在尝试找到一个教程或示例以另一种方式进行。
-
我可能会使用 Ajax 来添加或删除条目。
标签: php mysql database codeigniter