社区
MS-SQL Server
帖子详情
update是什么原理呢?
lj_lt
2007-05-25 03:22:59
执行一个update
和执行delete,再insert into,
哪个效率高?
为什么?
好象从update触发器看,内部处理也是先delete,在insert into
是这样的吗?
...全文
501
13
打赏
收藏
update是什么原理呢?
执行一个update 和执行delete,再insert into, 哪个效率高? 为什么? 好象从update触发器看,内部处理也是先delete,在insert into 是这样的吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
stou
2007-05-30
打赏
举报
回复
学习
lj_lt
2007-05-30
打赏
举报
回复
谢谢大家,特别是最后一只恐龙
最后一只恐龙
2007-05-26
打赏
举报
回复
记入日志和写数据是两个独立的过程,如果你用磁盘阵列,这两个过程能明显区分开。
记入日志时记录的是一条整个的记录,而写入数据文件则只修改需要更新的字段。这些在本科数据库原理课程中有的,可能上学时没注意。
VCLIFE
2007-05-25
打赏
举报
回复
学习
lj_lt
2007-05-25
打赏
举报
回复
zheng(最后一只恐龙) :
更新前的旧值和更新后的新值记入日志,这个好象是对一条记录而言
处理完毕后,再对mdf文件处理,直接找到记录存储位置,覆盖吗?
只覆盖修改的字段,还是整个记录修改,什么原理呢?
最后一只恐龙
2007-05-25
打赏
举报
回复
delete语句的日志中,更新后的新值为空
insert语句的日志中,更新前的旧值为空
最后一只恐龙
2007-05-25
打赏
举报
回复
呵呵,这两个绝对不一样,Update就是直接在记录上修改,效率当然高。
你从触发器看到的东西,是更新日志里面的内容。记录更新前(我说的没错,是之前),先将更新前的旧值和更新后的新值记入日志,更新后触发触发器,里面的inserted表和deleted表就是日志的东西,绝不是先删除后插入的。
lnmhfeng
2007-05-25
打赏
举报
回复
学习
dssw
2007-05-25
打赏
举报
回复
学习了。
hui_hui_2007
2007-05-25
打赏
举报
回复
底层处理据说确实是先delete,再insert,但是使用起来,当然update快些.
hxd001_810
2007-05-25
打赏
举报
回复
从触发器的角度来看,update过程的确是:先delete,再insert。
从单纯的更新角度来看,update过程却是直接覆盖存储单元中原先的value。
二者不能混淆。
yepangxie
2007-05-25
打赏
举报
回复
楼上说的没错,如果主键被别的表作为外键使用,是删除不了的。
不过也有可能是服务器内部作了特殊除了,其实还是delete + insert,只不过insert之后才判断外键约束。
jwt1982
2007-05-25
打赏
举报
回复
不完全是这样
作个很简单测试,一个主外键关联的表,你更新主表数据的话,差距就出来了
Mamba模型
原理
与代码精讲
Mamba文本生成实战:Ubuntu系统上安装Mamba并进行文本生成实战演示 Mamba代码精讲:讲解Mamba计算框图和语言模型流程图、代码概览、mixer_seq_simple代码解读、mamba_simple代码解读、selective_state_
update
代码...
Linux的yum
update
是干什么的?底层
原理
是什么?
yum
update
的底层
原理
是基于yum的软件包仓库的工作
原理
,yum会从远程的yum软件包仓库中获取软件包的信息,包括软件包的版本、依赖关系等,并与本地系统上已安装的软件包进行比较,确定需要更新哪些软件包。...
Update
语句执行
原理
SQL中的
Update
语句,其实是执行了两步操作,Delete原来的一条记录,Insert新记录。因此在
Update
触发器中会出现两个临时表,即:Deleted和Inserted,分别存取删除的记录和更新的记录。 另外,在执行
update
语句的...
composer install命令和composer
update
命令的区别是什么?底层
原理
是什么?
当依赖项的名称和版本确定...底层
原理
: Composer的底层
原理
是基于依赖关系解析和版本约束。文件的情况下重现相同的依赖项版本。这有助于团队协作和持续集成环境的一致性。在安装或更新过程中,Composer会生成或更新。
【Mysql】
update
语句更新
原理
update
语句的执行流程图,浅色框表示在InnoDB内部执行的,深色框表示在执行器中执行的。 1.首先客户端通过tcp/ip发送一条sql语句到server层的SQL interface 2.SQL interface接到该请求后,先对该条语句进行解析,...
MS-SQL Server
34,590
社区成员
254,589
社区内容
发帖
与我相关
我的任务
MS-SQL Server
MS-SQL Server相关内容讨论专区
复制链接
扫一扫
分享
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章