首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql selecting optimisation或names

mysql selecting optimisation或names
EN

Stack Overflow用户
提问于 2010-12-24 20:24:22
回答 3查看 128关注 0票数 3

假设我有一个名为tablex的表

代码语言:javascript
复制
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只是整数,自动递增)

谢谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-12-24 20:31:14

这是您必须进行基准测试的东西。对于大多数小查询,您很可能不会注意到任何差异。如果col4是一个包含千兆字节大小的文件的BLOB,那么它们很可能是特定的第一列(而不是*格式)会更快,因为不必每次都提取“无用的”千兆字节。

票数 1
EN

Stack Overflow用户

发布于 2010-12-24 20:29:24

显式的属性列表会稍微快一点(或者不会稍微快一点),因为col4不需要通过连接来获取和传递。

此外,如果使用查询缓存,缓存的结果集的大小会更小,因此可以缓存更多的结果集。

通常,您应该总是显式地列出您的列(不仅是出于性能原因,而且也是出于它们的原因)。

票数 1
EN

Stack Overflow用户

发布于 2010-12-24 20:30:18

代码2更快,但是您应该自己运行一些测试来检查它

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4526295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档