参见英文答案 select * vs select column12个 作为一个比SQL更新的人,因为我没有太多使用它,我确信这个问题有答案,但我不知道要搜索什么,所以我道歉. 问题:如果我在一个包含许多列的数据
作为一个比SQL更新的人,因为我没有太多使用它,我确信这个问题有答案,但我不知道要搜索什么,所以我道歉.
问题:如果我在一个包含许多列的数据库中有一堆行但只需要获取更快的ID或它们是否具有相同的速度?
SELECT * FROM...
VS
SELECT ID FROM...您特别询问了性能与避免SELECT *的所有其他原因:所以我将限制我的答案.
在我的系统上,SQL事件探查器最初为仅ID查询指示较少的CPU开销,但是涉及较小的#或行,每个查询花费相同的时间.
我认为这只是因为首先运行仅限ID的查询.在重新运行时(以相反的顺序),它们同样占用了很少的CPU开销.
以下是SQL事件探查器中的事物视图:
由于列数和行数极高,行数极宽,数据库引擎可能存在明显的差异,但这里没什么明显的.
您真正看到的区别在于将结果集发送回网络!当然,仅ID的结果集通常会小很多 – 即少发回.