我有一个应用程序,可以存储大约24个关于机器的数据字段。我最好有一个插入所有这些信息的大型SQL语句,还是应该在输入日期时使用许多小语句?
一个例子: CPU /内存/硬盘是一组,另一组是客户联系人/电话/地址。 我最好获取所有信息,然后在表格中创建信息,还是应该在输入数据时输入第一组,然后输入第二组等?
这些字段将全部出现在同一页面上,并且已为每个组创建了视图。
答案 0 :(得分:2)
最好为所有字段执行单个INSERT。
答案 1 :(得分:2)
如果所有内容都在一个页面上(您可以在一个页面上获得所有数据),请执行一次INSERT
,否则您将执行INSERT
,然后执行一些UPDATE
,这是总是比较慢(因为你正在做一些操作而不是一个)而且你写的更复杂。在你的情况下,速度差异是微不足道的。
答案 2 :(得分:1)
对于插入和更新,对于大型插入,您可能会更好,而不是一个小插入,然后是多次更新。
在执行大型复杂连接或子选择时,大型查询有时效率低于小型查询。然后,你真的需要测试两种形式,看看哪种更有效。
您可能还会发现,在极少数情况下,即使存在大量锁定/争用,或复杂的外键关系或其他约束,较小的查询也会更好,即使是插入和更新。