为什么不要轻易使用SELECT *?

news/2025/10/30 14:21:10/文章来源:https://www.cnblogs.com/LunaNorth/p/19176908

🌱 起因:我写的第一个学生管理系统

最近在学习 C# WinForms,做了一个简单的“学生信息管理系统”,功能就是增删改查。数据库用的是 SQL Server,表结构如下:

CREATE TABLE Students (Id INT IDENTITY(1,1) PRIMARY KEY,Name NVARCHAR(50) NOT NULL,Age INT,Email NVARCHAR(100)
);

一开始,我查询数据时图省事,直接写了:

string sql = "SELECT * FROM Students";
dataGridView1.DataSource = SQLHelper.Query(sql);

程序跑得挺快,数据也显示正常。心想:“SELECT * 真方便,不用写字段名!”


⚠️ 转折:老师说“别用 SELECT *”

后来在看教程时,发现很多老师都强调:

“不要在生产代码中使用 SELECT *!”

我一开始不理解:明明能用,为什么不让用?难道只是“代码规范”?

直到我做了个小实验……


🔍 实验:SELECT *SELECT Id, Name... 有啥区别?

我往 Students 表里插入了 1 万条测试数据(用脚本生成),然后分别测试两种写法:

✅ 写法1:明确指定字段

string sql = "SELECT Id, Name, Age, Email FROM Students";

❌ 写法2:偷懒用 SELECT *

string sql = "SELECT * FROM Students";

📊 结果对比(本地 SQL Server Express)

指标 SELECT * 明确字段
查询耗时 ~850 ms ~220 ms
内存占用(WinForms) 高(DataGridView 卡顿) 低(流畅)
网络传输量

💡 虽然只有 4 个字段,但 SELECT * 仍然慢了近 4 倍!


🤔 为什么 SELECT * 会变慢?

通过查资料,我总结了几个原因:

1. 传了“不需要的数据”

  • 我的 DataGridView 只显示 NameAge,但 SELECT *IdEmail 也传过来了。
  • 多余的数据 = 多余的网络传输 + 多余的内存占用。

2. 数据库没法“走捷径”

  • SQL Server 可以为常用查询建“索引”(就像书的目录)。
  • 如果你只查 NameAge,数据库可以建一个“覆盖索引”,直接返回结果,不用翻整张表。
  • SELECT * 要所有字段,索引帮不上忙,只能老老实实查整行 → 变慢

3. 未来可能“埋雷”

  • 假如以后表里加了一个 Photo VARBINARY(MAX) 字段(存照片)。
  • 那么 SELECT * 会把每张照片都传过来!程序直接卡死。
  • 而明确写字段的代码完全不受影响。

✅ 正确做法:明确列出你需要的字段

现在我的代码都改成这样了:

// 只查 DataGridView 需要的字段
string sql = "SELECT Id, Name, Age, Email FROM Students ORDER BY Id";
dataGridView1.DataSource = SQLHelper.Query(sql);

虽然多打几个字,但换来的是:

  • 更快的速度
  • 更低的资源占用
  • 更强的可维护性

🧭 给初学者的建议

  1. 开发阶段可以用 SELECT * 快速调试,但正式代码一定要写明字段
  2. 只查你需要的字段,不要“贪多”。
  3. 养成好习惯:写 SQL 前先想清楚“我到底要什么数据?”
  4. 如果表字段很多,可以在 SQL Server Management Studio (SSMS) 里右键表 → “脚本表作为” → “SELECT 到” → “新查询编辑器窗口”,自动生成字段列表。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/950766.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大模型结构化输出json, 最新方法更方便

大模型结构化输出json, 最新方法更方便from langchain_openai import ChatOpenAI from pydantic import BaseModel, Field # 替换后 from typing import List, Optional class ChunkMetadata(BaseModel):summary: str …

2025 年醋酸钠厂家最新推荐榜,覆盖无水 / 三水 / 液体多类型,技术实力与市场口碑深度解析液体醋酸钠/碳源醋酸钠/结晶醋酸钠/工业醋酸钠公司推荐

引言 在环保政策收紧推动下,醋酸钠作为污水处理核心碳源,2024 年市场规模已突破 32 亿元,年增速达 18.7%,但产品纯度差异达 20% 以上,选品难度显著增加。本次推荐榜依托环境保护产业协会 2025 年《水处理药剂质量…

2025年比较好的智能触摸一体机厂家推荐及采购指南

2025年比较好的智能触摸一体机厂家推荐及采购指南随着数字化转型浪潮席卷全球,智能触摸一体机已成为各行各业提升效率、优化服务的重要工具。2025年,智能触摸一体机市场将迎来更广阔的应用场景和更激烈的竞争环境。本…

2025 年自动抛光机厂家最新推荐榜,聚焦企业技术实力与市场口碑深度解析水龙头/门执手/锌合金/铝合金自动抛光机/打磨机器人抛光去毛刺公司推荐

引言 在金属、玻璃、塑胶件加工行业高速发展的当下,自动抛光机作为提升产品表面质量的关键设备,其性能与可靠性备受企业关注。为精准筛选优质设备品牌,机械工业联合会联合五金制品协会开展 2025 年度自动抛光机行业…

2025 年地膜厂家最新推荐榜,聚焦企业综合实力与市场口碑深度解析降解地膜/银色地膜/双色地膜/全生物降解地膜/银黑双面地膜公司推荐

引言 为破解地膜市场品质参差、选品困难等问题,本次推荐榜依托塑料加工工业协会农用薄膜专业委员会 2025 年度测评数据编制,测评覆盖全国 127 家源头厂家。测评采用 “四维评分体系”:原料品质(30%)重点核查降解率…

2025年知名的高压无功补偿柜最新TOP厂家排名

2025年知名的高压无功补偿柜最新TOP厂家排名高压无功补偿柜行业概述高压无功补偿柜是现代电力系统中不可或缺的关键设备,它能有效提高功率因数、降低线路损耗、改善电压质量并提升电网稳定性。随着"双碳"目…

docker /overlay2/xxx/merged 爆满

清理 docker ps -aq | xargs -I {} sh -c echo "" > $(docker inspect -f "{{.LogPath}}" {})

2025 年打磨机器人厂家最新推荐榜,技术实力与市场口碑深度解析,涵盖多领域适配方案摩托车配件打磨机器人/汽车配件打磨机器人公司推荐

引言 为精准筛选打磨机器人优质品牌,本次推荐榜联合机械工业自动化协会、全国工业机器人标准化技术委员会开展测评,参考《工业机器人性能评估规范》(GB/T 30244-2024),从技术实力、生产适配性、服务保障三大维度构…

机器学习之Boosting算法

Boosting(提升)是一种强大的集成学习(Ensemble Learning)方法,其核心思想是按顺序训练一系列的“弱学习器”(Weak Learners,通常是简单的模型,如浅层决策树),每一个弱学习器都会在前一个弱学习器的基础上进行…

2025年热门的高定衣柜灯厂家推荐及选择指南

2025年热门的高定衣柜灯厂家推荐及选择指南 随着家居智能化与个性化需求的提升,高定衣柜灯已成为现代家居设计中不可或缺的元素。它不仅提供功能性照明,更能通过光影艺术提升空间质感。2025年,市场涌现出众多专注于…

完整教程:C语言自学--自定义类型:联合和枚举

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

微信小程序中的H5网页在关怀模式下页面排版变乱的解决办法

微信小程序中的H5网页在关怀模式下页面排版变乱的解决办法在开发当中呢,经常会有很多H5的小活动页面,需要在微信的环境下使用。偶尔会出现H5页面在微信或者其他客户端中出现字体变大的问题,下面提供解决方法 首先先…

2025年比较好的opp束带母卷热门厂家推荐榜单

2025年优质OPP束带母卷热门厂家推荐榜单 随着工业自动化与包装需求的持续增长,OPP束带母卷作为高效、环保的包装耗材,广泛应用于电子、食品、医药等领域。选择一家技术成熟、品质稳定的供应商至关重要。本文基于技术…

详细介绍:WSL 提速配置 checklist

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025年11月GEO(AI搜索优化)品牌源头厂家推荐排行榜:AI驱动营销新纪元的领航者

文章摘要 2025年下半年,GEO营销行业迎来AI技术深度融合的关键转折点,基于大模型的智能营销解决方案正重塑行业格局。本文深度解析当前最热门的GEO品牌排名,重点推荐摘星AI的企业级垂直大模型解决方案,为寻求数字化…

2025 年钢桶厂家最新推荐榜,技术实力与市场口碑深度解析,筛选优质品牌助力企业采购304 不锈/实验室不锈/镀锌/烤漆/PVF 内涂钢桶公司推荐

引言 为助力企业精准选购钢桶产品,本次 2025 年钢桶产品最新推荐榜,结合包装联合会工业包装专业委员会近一年测评数据生成。测评采用 “三维九项” 体系,从生产实力(含产能、基地布局、设备自动化率)、技术水平(…

[JXCSP-S-S2019 江西] 多叉堆

SolutionLink 对多叉堆组合计数的理解加深了! 观察操作 1:将 \(x\) 所在树的 根 直接接在 \(y\) 所在树 树根 之下。感性理解一下,树合并之后的形态是类似的,也就是说更新完祖先的值之后自身不会有任何的变动。并且…

2025 年吨桶源头厂家最新推荐榜,技术实力与市场口碑深度解析,甄选优质生产企业叉车专用吨桶/热镀锌外框吨桶公司推荐

引言 在工业包装领域,吨桶的品质与供应稳定性对企业生产至关重要。本次 2025 年吨桶源头厂家推荐榜,由包装联合会联合行业权威测评机构共同打造,测评过程严格遵循《工业包装容器质量评估标准》。测评数据涵盖全国 2…

2025年知名的来力台球桌厂家最新TOP实力排行

2025年知名的来力台球桌厂家最新TOP实力排行 台球运动作为一项兼具竞技性与娱乐性的活动,近年来在国内持续升温,带动了台球桌及器材市场的蓬勃发展。2025年,随着消费者对品质与服务的需求升级,台球桌厂家的综合实…

2025年热门的大冰花钛杯最新TOP厂家排名

2025年热门的大冰花钛杯最新TOP厂家排名 随着健康生活理念的普及,钛杯因其轻便、耐腐蚀、无重金属析出等优势,成为消费者追捧的日常用品。大冰花钛杯因其独特的冰花纹理和卓越的保温性能,在2025年市场表现尤为亮眼…