通过在查询中仅选择必需字段而不是查询整行,可以获得多少性能优势?例如,如果我有一行10个字段但显示中只需要5个字段,那么仅查询那些5个字段是否值得?这个限制的性能优势是什么?如果需要,以后必须返回并在sql查询中添加字段的风险是什么?
这不仅仅是您需要考虑的额外数据方面.选择所有列将否定覆盖索引的有用性,因为将需要对聚簇索引(或表)进行书签查找.
这取决于选择了多少行,以及这些额外字段消耗了多少内存.如果例如存在多个text/blobs字段,或者选择了许多行,则它可以运行得慢得多.
以后添加字段的风险如何?修改查询以适应不断变化的需求是开发过程的自然组成部分.