作为一个不熟悉SQL的人,因为我使用的不是很多,所以我肯定对这个问题有答案,但是我不知道要寻找什么才能找到它,所以我深表歉意。
问题:如果我在数据库中有一堆具有很多列的行,但只需要取回更快的ID或它们的速度相同?
SELECT * FROM...
与
SELECT ID FROM...
您询问了性能,尤其是要避免的所有其他原因SELECT *
:因此,我将限于此性能。
在我的系统上,SQL Profiler最初指示仅ID查询的CPU开销较小,但是由于涉及的#或行较小,每个查询花费的时间相同。
我认为确实这只是由于仅ID查询首先运行。重新运行时(以相反的顺序),它们占用的CPU开销同样很少。
这是SQL Profiler中的事物视图:
在列和行数非常高,行非常宽的情况下,数据库引擎可能会有明显的差异,但是这里没有任何明显的内容。
您真正会看到的区别是通过网络将结果集发送回去!仅ID的结果集当然通常会小得多-即更少地发送回去。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句