SQL编程规范整理
一、排版规范
1.代码缩进
对于判断、循环等处理使用字符缩进
缩进的空格最好不要使用TAB键
2.空格及换行
变量定义、相对独立的程序块等要单独成行,便于阅读
太长的程序(超过110列)应做换行处理
操作符前后加入空格
3.书定习惯
不同操作类型的操作符用括号隔离
表、字段别名用意义的名称替代
所有书写使用大写,方面移植
二、命名规范
1.存储过程
”SP_“作为前缀
2.函数
“F_”作为前缀
3.触发器
“TR_”作为前缀
4.视图
“V_”作为前缀
5.链接服务
“LNK_”作为前缀
6.主键
“PK_”作为前缀,表名在后,如:PK_表名
7.外键
“FK_”作为前缀,主表名,从表名,如:FK_主表_从表
8.索引
“ID_”作为前缀,列名在后,如:ID_COLNAME
9.序列
“SEQ_”作为前缀
三、通用SQL性能优化
1.索引使用
尽量使用“>=”或,不要使用“>”
LIKE尽量前端匹配
尽量不要使用“<>”
条件中不要使用函数
条件中不要使用计算
条件中尽量不要使用NOT
尽量避免使用OR
合理利用复合索引
2.SQL优化
避免使用复合SQL语句(如:SELECT A,B FROM TABLE1 WHERE A IN )(SELECT A1 FROM TABLE2))
尽量避免使用DISTINCT
尽量避免直接使用自定义函数
对于查询比较复杂,数据量较大的查询,可以使用工具进行查询计划检测,调整语句性能
不要在存储过程或函数中反复访问同一张表,如果需要,可以将数据放在临时表中使用。
应尽量减少控制语句的检查次数,以提高执行效率
如果能从一条SQL语句中获取多个想要的数据,就不要分多条SQL语句分分次获取
在长度和精度和精度允许的情况下,建议用INTERGE代替NUMERIC,在可以提高性能的情况下,使用EXISTS代替IN,NOT EXISTS 代替NOT IN
查询的WHERE过滤原则,应使过滤记录数最多的条件
多表连接查询时,可以先按条件过滤在进行连接
select、insert子句的代码中不允许出现“*”以代替查询所有字段,必须用实际的字段名代替
提高GROUP BY的执行效率,在进行GROUP BY 之前将不需要条件过滤掉
posted on 2017-11-14 13:46 betterLearing 阅读(4429) 评论(0) 编辑 收藏 举报
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?