我有一张桌子,我需要更新一些名字,但我想知道
以下查询:
两者都会这样做吗?
查询1
Update mytable
Set Name = Replace(Name,'Jeff','Joe')
Run Code Online (Sandbox Code Playgroud)
查询2
Update mytable
Set Name = 'Joe'
where Name = 'Jeff'
Run Code Online (Sandbox Code Playgroud)
Jon*_*ite 26
不,他们不会做同样的事情。
SQL 引擎所需的工作量完全不同。在第一个查询中,引擎必须遍历每一行并对 Name 列执行字符串替换操作。在第二个查询中,它正在搜索名称为“Jeff”的表,并将 Name 列更新为 Joe。
字符串替换是通配符。因此,在第一个查询中,名称“Jeffrey”将变为“Joerey”。
归档时间: |
|
查看次数: |
1093 次 |
最近记录: |