我听说SELECT *在编写SQL命令时通常不宜使用这种做法,因为它对于SELECT您特别需要的列更有效。
SELECT *
SELECT
如果我需要SELECT表中的每一列,我应该使用
SELECT * FROM TABLE
或者
SELECT column1, colum2, column3, etc. FROM TABLE
在这种情况下,效率真的重要吗?我认为SELECT *,如果您确实需要所有数据,则内部会更理想,但我是在没有真正理解数据库的情况下说这一点。
我很好奇这种情况下的最佳做法。
更新: 我可能应该指定,我真正 想要 做的唯一情况SELECT *是当我从一个表中选择数据时,我知道所有列都将始终需要检索,即使添加了新列也是如此。
但是,鉴于我所看到的答复,这似乎仍然是一个坏主意,SELECT *绝不应该出于其他我出于技术上的原因而使用它。
选择特定列更好的原因之一是,它增加了SQL Server可以从索引访问数据而不是查询表数据的可能性。