Sql优化
对于Sql语句的优化
主要从索引,表字段,IO三个层面进行优化
首先是从索引层面
where 字句使用isnull,!=,in ,not in,or连接,以及模糊查询%在第一个位置、对字段进行表达式操作、对字段用函数进行操作导致全表扫描
1,isnull,解决:使用默认值
2.in not in 解决:使用exists not exists
3.or 解决:使用Union Union all
从表字层面
建表的时候能使用数字类型的字段就是使用数字类型的字段,数字类型的字段作为查询条件比字符串快,因为引擎处理的时候字符串是逐一比较每一字符的,对数字而言比较一次就够了
尽能使用varchar代替char,首先变长字段存储空间小,节省空间,其次对于查询来说,相对较小字段查询效率比较高
合理的增加冗余字段减少表的关联查询
从IO层面
不要使用select *因为多余的字段增加IO开销,也增加了网络的开销
尽量减少子查询,子查询会创建和销毁临时表,开销比较大
在where语句中把能过滤掉大量记录的字段放在前面
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· winform 绘制太阳,地球,月球 运作规律
· 上周热点回顾(3.3-3.9)