为什么大家都说“SELECT *”效率低?

发布时间:2022-08-18 18:38

面试官:“小陈,说一下你常用的 SQL 优化方式吧。”


陈小哈:“那很多啊,比如不要用 SELECT *,查询效率低。巴拉巴拉...”

面试官:“为什么不要用 SELECT * ?它在哪些情况下效率低呢?”


陈小哈:“SELECT * 它好像比写指定列名多一次全表查询吧,还多查了一些无用的字段。”

面试官:“嗯...”


陈小哈:“emmm~ 没了”

陈小哈:“....??(几个意思)”

面试官:“嗯...好,那你还有什么要问我的么?”


陈小哈:“我问你个锤子,把老子简历还我!”

废话不多说,本文带你深入了解一下"SELECT * "效率低的原因及场景。

为什么大家都说“SELECT *”效率低?_第1张图片

效率低的原因

先看一下最新《阿里 Java 开发手册(泰山版)》中 MySQL 部分描述:

4 - 1. 【强制】在表查询中,一律不要使用 * 作为查询的字段列表,需要哪些字段必须明确写明。 

说明:

  • 增加查询分析器解析成本。

  • 增减字段容易与 resultMap 配置不一致。

  • 无用字段增加网络 消耗,尤其是 text 类型的字段。

ItVuer - 免责声明 - 关于我们 - 联系我们

本网站信息来源于互联网,如有侵权请联系:561261067@qq.com

桂ICP备16001015号