小编典典

SQL查询-从视图中选择*或从视图中选择col1,col2,…colN

sql

我们正在使用SQL Server 2005,但是这个问题可能适用于任何RDBMS。

从视图中选择所有列时,以下哪一项更有效?

Select * from view 

或者

Select col1, col2, ..., colN from view

阅读 223

收藏
2021-05-05

共1个答案

小编典典

永远不要使用“选择*” !!!!

这是查询设计的基本规则!

这有多种原因。其中之一是,如果您的表上只有三个字段,并且您使用了调用查询的代码中的所有三个字段,则很有可能会随着应用程序的增长而向该表中添加更多字段,并且您的select *查询仅用于返回调用代码的这3个字段,那么您从数据库中提取的数据量远远超出了您的需要。

另一个原因是性能。在查询设计中,不要像此口头禅那样考虑可重用性:

尽您所能,但尽您所能。

2021-05-05