<table class="mytable mytable-body">
<tr>
<td width="10%" colspan="4">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
</tr>
<tr>
<td width="10%" colspan="4">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
</tr>
<tr>
<td width="10%" colspan="3">Null</td>
<td width="10%" colspan="4">Null</td>
</tr>
<tr>
<td width="10%" colspan="3">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
</tr>
<tr>
<td width="10%" colspan="3">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
</tr>
<tr>
<td width="40%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
</tr>
<tr>
<td width="40%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
</tr>
<tr>
<td width="40%">Null</td>
<td width="10%" colspan="6">Null</td>
</tr>
<tr>
<tr>
<td width="40%">Null</td>
<td width="10%" colspan="6">Null</td>
</tr>
<tr>
<td width="40%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
</tr>
<tr>
<td width="40%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
</tr>
<tr>
<td width="40%">Null</td>
<td width="10%" colspan="3">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
</tr>
<tr>
<td width="40%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%" colspan="4">Null</td>
</tr>
<tr>
<td width="40%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
</tr>
<tr>
<td width="40%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
</tr>
<tr>
<td width="40%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
</tr>
<tr>
<td width="40%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
</tr>
<tr>
<td width="40%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
</tr>
<tr>
<td width="40%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
<td width="10%">Null</td>
</tr>
</table>
这更快或
UPDATE User
SET Name = (SELECT NameSpace.NameId
FROM NameSpace
WHERE NameSpace.Name = 'BlaBlaBla')
WHERE UserId = 1453
和
int Value = Select NameSpace.NameId from NameSpace
where NameSpace.Name = 'BlaBlaBla';
UPDATE User
SET Name = "+Value +"
WHERE UserId = 1453
OR
Select
UserName,
UserAge,
(Select * from AdressesTable where Adresses.AdresID=User.AdresID)
from
UserTable
where
UserId='123'
答案 0 :(得分:1)
在确定哪个更快时,需要做出各种假设。
首先,如果您关注速度,那么您需要users(userid)
和namespace(name)
上的索引。
其次,赋值查询在SQL Server中应如下所示:
declare @Value int;
select @Value = NameSpace.NameId
from NameSpace
where NameSpace.Name = 'BlaBlaBla';
您的变量声明和子查询对于SQL Server不正确。
最后,即使设置正确,也无法说哪个更快。如果我假设UserId
只有一个匹配的记录,那么单个update
可能更快 - 尽管可能这么少,以至于它不明显。它可能不会更快。更新可能会导致在NameSpace
上采取某种锁定,否则将不会采取这种锁定。我实际上期望这两者的速度相当。
但是,如果许多用户具有相同的userid
(这不太可能是列的名称),那么您正在对多行进行更新。将计算结果存储一次并使用它可能比多次运行子查询更好。即便如此,如果使用正确的索引,我预计性能差异可以忽略不计。