小编典典

哪个更快/最好?SELECT * 或 SELECT column1、colum2、column3 等

all

我听说SELECT *在编写 SQL 命令时使用这种做法通常是不好的做法,因为它对SELECT您特别需要的列更有效。

如果我需要SELECT表格中的每一列,我应该使用

SELECT * FROM TABLE

或者

SELECT column1, colum2, column3, etc. FROM TABLE

在这种情况下,效率真的很重要吗?如果您真的需要所有数据,我认为SELECT *在内部会更优化,但我是在没有真正了解数据库的情况下这么说的。

我很想知道在这种情况下最佳做法是什么。

更新:我可能应该指定我真正 想做 的唯一情况SELECT *是当我从一个表中选择数据时,我知道所有列都需要被检索,即使添加了新列也是如此。

然而,鉴于我所看到的响应,这似乎仍然是一个坏主意,并且SELECT *永远不应该用于我曾经想过的更多技术原因。


阅读 104

收藏
2022-07-01

共1个答案

小编典典

选择特定列更好的一个原因是它提高了 SQL Server 可以从索引访问数据而不是查询表数据的可能性。

这是我写的一篇文章:
选择查询是不良索引覆盖率的真正原因

它也不易更改,因为任何使用数据的代码都将获得相同的数据结构,无论您将来对表模式进行何种更改。

2022-07-01