全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

为什么select * 比select字段效率低?

发布时间:2023-10-14 20:19:45
发布人:xqq

一、数据传输量大

使用 select * 查询会将表中所有字段的数据都传输到客户端,而实际上客户端可能并不需要所有字段的数据。这导致网络传输的数据量增大,增加了数据传输的时间和网络带宽的消耗。如果表中包含大量字段或者字段中包含大量数据,数据传输量的增加会更为明显,从而降低查询的效率。

二、缓存命中率低

数据库查询的过程中,通常会使用缓存来提高查询性能。使用 select * 查询会导致缓存的命中率降低。因为 select * 查询会返回所有字段的数据,而不同的查询可能只需要部分字段的数据。这样就会导致同一个查询语句多次执行时,缓存无法命中,每次都需要重新从磁盘读取数据,降低了查询的效率。

三、表结构变更引起的问题

如果使用 select * 查询,当表的结构发生变更时(如新增字段、删除字段、修改字段数据类型等),查询语句的结果也会随之变化,可能导致客户端代码出现问题。因为客户端代码可能依赖于查询结果中的字段顺序或字段数量,一旦表结构发生变更,原先的客户端代码可能无法正确解析查询结果,需要进行相应的修改和调整。

四、影响数据库性能

select * 查询会返回所有字段的数据,而不同的查询可能只需要部分字段的数据。如果表中包含大量字段或字段中包含大量数据,select * 查询将会增加数据库的负载和资源消耗。数据库需要读取和传输更多的数据,消耗更多的CPU和内存资源,从而影响数据库的性能和响应速度。

五、不利于代码维护和可读性

使用 select * 查询返回所有字段的数据,可能会导致查询结果中包含大量不必要的数据,增加了代码维护的难度和代码的可读性。当需要修改查询逻辑或处理查询结果时,需要处理更多的字段,代码变得复杂而难以理解。

六、隐藏潜在问题

使用 select * 查询可能会隐藏一些潜在的问题。当表结构发生变更或新增字段时,由于 select * 查询返回了所有字段的数据,新增字段的值也会被返回,但客户端可能未做相应处理,导致数据解析错误或功能异常。而如果使用 select字段查询,则只返回指定的字段,可以避免这类潜在问题的发生。

延伸阅读

select字段的优点

提高查询效率:使用SELECT字段可以选择性地检索需要的字段,避免了不必要的数据传输和处理。这有助于减少网络流量、减轻数据库负载,从而提高查询效率。简化数据处理:通过选择所需的字段,SELECT字段可以减少返回的数据量。这使得数据处理更加简单和高效,节省了存储空间和计算资源。控制结果集:SELECT字段允许您指定要返回的字段数量和顺序。这样可以根据具体需求灵活地控制查询结果,只获取所需信息,方便后续的数据处理和分析。聚合计算:SELECT字段结合聚合函数(如SUM、AVG、COUNT等)可以对字段进行统计和计算操作。这对于生成汇总报表、计算平均值、计数等非常有用。别名和计算字段:SELECT字段允许为字段指定别名,使查询结果更易理解和处理。同时,可以在SELECT语句中创建计算字段,通过计算、组合或转换现有字段生成新的字段,满足特定的业务需求。数据筛选:SELECT字段与WHERE子句结合使用,可以根据特定条件对数据进行过滤。这样可以仅返回符合条件的行,实现数据筛选和提取需求。
#it技术干货

相关文章

什么是混合式编程?

什么是混合式编程?

2023-10-14
什么是服务器节点?

什么是服务器节点?

2023-10-14
单片机、ARM、FPGA 嵌入式这些有什么区别?

单片机、ARM、FPGA 嵌入式这些有什么区别?

2023-10-14
软件过程模型中的rup与瀑布模型有哪些区别联系?

软件过程模型中的rup与瀑布模型有哪些区别联系?

2023-10-14

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取