使用以下方法是否可以获得性能提升:

SELECT Field1, Field2, Field3 ...


代替:

SELECT * ...

最佳答案

如果列表field1,.....表示可用列的子集,则答案为是。效率高多少取决于子集的大小。

对于处理的每一行,都有许多“每列”操作,具体取决于列的类型,这可能与将字节重新分配为整数边界一样少,也可能与分配适当的内存块并从另一个大的BLOB中读取一样重文件。

但是,即使经验很少或几乎没有性能好处,大多数经验丰富的程序员仍将始终编写特定的列列表。有两个原因,最重要的原因是它有助于使程序与数据库模式的更改隔离开来-您的程序不会因添加或重新排序列而崩溃,其次是可读性,您无需继续返回数据库模式以查看程序从表中获取的内容,第三,它有助于进行影响分析,因为您可以扫描源代码以了解特定列的使用情况。

10-04 23:28
查看更多