我们使用的是SQL Server 2005,但这个问题适用于任何RDBMS.
从视图中选择所有列时,以下哪项更有效?
Select * from view
要么
Select col1, col2, ..., colN from view
devlord.. 37
永远,永远使用"SELECT*"!!!!
这是查询设计的基本规则!
这有多种原因.其中之一是,如果您的表上只有三个字段并且您在调用查询的代码中使用了所有三个字段,那么随着应用程序的增长,您很可能会在该表中添加更多字段,如果你的select*查询只是为了返回调用代码的那3个字段,然后你从数据库中提取的数据远远超过你需要的数量.
另一个原因是表现.在查询设计中,不要像这个口头禅那样考虑可重用性:
吃所有你可以吃,但吃所有你吃.
永远,永远使用"SELECT*"!!!!
这是查询设计的基本规则!
这有多种原因.其中之一是,如果您的表上只有三个字段并且您在调用查询的代码中使用了所有三个字段,那么随着应用程序的增长,您很可能会在该表中添加更多字段,如果你的select*查询只是为了返回调用代码的那3个字段,然后你从数据库中提取的数据远远超过你需要的数量.
另一个原因是表现.在查询设计中,不要像这个口头禅那样考虑可重用性:
吃所有你可以吃,但吃所有你吃.
最佳做法是按名称选择每列.将来,您的数据库架构可能会更改,以添加您不需要特定查询的列.我建议按名称选择每一列.