假设我有一个名为tablex的表
ID,col1,col2,col3,col4,col5,col6.在处理过程中不需要col4的情况下,以下哪种代码更快?
代码1- SELECT * FROM tablex
代码2- SELECT ID,col1,col2,col3,col5,col6 FROM tablex
(注意,代码2中缺少col4,因为它不是必需的,所有的列都是80个可变字符的文本,ID只是整数,自动递增)
谢谢!
发布于 2010-12-24 20:31:14
这是您必须进行基准测试的东西。对于大多数小查询,您很可能不会注意到任何差异。如果col4是一个包含千兆字节大小的文件的BLOB,那么它们很可能是特定的第一列(而不是*格式)会更快,因为不必每次都提取“无用的”千兆字节。
发布于 2010-12-24 20:29:24
显式的属性列表会稍微快一点(或者不会稍微快一点),因为col4不需要通过连接来获取和传递。
此外,如果使用查询缓存,缓存的结果集的大小会更小,因此可以缓存更多的结果集。
通常,您应该总是显式地列出您的列(不仅是出于性能原因,而且也是出于它们的原因)。
发布于 2010-12-24 20:30:18
代码2更快,但是您应该自己运行一些测试来检查它
https://stackoverflow.com/questions/4526295
复制相似问题