sql:删除 + 插入 vs 更新 + 插入

标签 sql tsql sql-server-2008

已经提出了类似的问题,但由于它总是取决于,我单独询问我的具体情况。

我有一个网站页面,显示来自数据库的一些数据,要从该数据库生成数据,我必须执行一些相当复杂的多连接查询。

数据每天(每晚)更新一次。

我想为上述 View 预先生成数据以加快页面访问速度。

为此,我正在创建一个包含我需要的确切数据的表。

问题:对于我的情况,在插入后进行完整的表格删除是否合理?还是我应该更新,插入?

SQL 明智的似乎 DELETE + INSERT 会更容易(INSERT 部分是单个 SQL 表达式)。

编辑: RDBMS:MS SQL Server 2008 Ent

最佳答案

TRUNCATE 会比 delete 快,所以如果你需要清空一个表,请改为

您没有指定您的 RDBMS 供应商,但其中一些也有 合并/UPSERT 命令这使您可以在数据存在时更新表,如果不存在则插入

关于sql:删除 + 插入 vs 更新 + 插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2967617/

相关文章:

sql - 如何将 SQL 查询的 xml 输出转换为 varchar 输出

sql - 无法绑定(bind)多部分标识符

sql-server-2008 - SQL Server : Insert stored procedure results into table based on parameters

mysql - sql 在查询子句中使用求和结果

sql - 为什么 Postgres 执行顺序扫描,其中索引将返回 < 1% 的数据?

sql - 如何使用 DEFAULT 约束将空值插入到 NOT NULL 列

SQL Oracle : Replace an empty result with word

sql - 基于连续值的累计和

sql - 如何按 ASC 和 DESC 顺序对同一列进行排序而不重复

sql-server - 何时需要在 try catch block 中检查 @@trancount > 0 ?