mssql sqlserver 规范使用方法分享
转自:http://www.maomao365.com/?p=5586
摘要:
下文主要讲述sql server表设计及脚本编写中,相关规范
———————————
数据表字段类型选择:
字符类型根据长度选择合适的varchar nvarchar类型
涉及金额的建议选择 money类型
带小数位的建议使用 numeric decimal类型
自定义标识列建议使用bigint类型
时间类型根据要求选择 date datetime time smalldatetime
尽量避免使用 xml text ntext image 类型
————————————–
表设计
同一业务模块的表名设置为具有相同标识前缀
列设计
同样功能的字段,在所有表中都应该具有相同的名称叫法和类型定义
所有列禁止存在null值
表相关设计
表尽量设置合理的主键,尽量使用单字段主键
索引设计:
用于连接表的字段,尽量设置索引
order by 中涉及的列,尽量设置为索引
索引include 不要包含过多的列
单张表不要拥有过多的索引
———脚本编写—————–
脚本编写中,禁止进行复杂的计算
脚本编写中,避免使用select * :减少查询次数 和不必要的返回
脚本编写中,禁止在索引列上进行计算
少使用游标
少使用触发器
脚本编写中,参数类型和表中的列类型,需一致
脚本编写中,避免拼接sql,采用参数化处理
脚本编写中,尽量减少join表的个数
脚本编写中,限制in的个数,因为不合理的in会导致”DB估算执行计划”错误。
避免使用大事务,会导致死锁
尽量使用union all 替换union 组合表
脚本查询中,数据尽量按页 按需返回
mssql sqlserver 规范使用方法分享的更多相关文章
- MSSQL sqlserver系统函数教程分享
摘要: 下文收集了sqlserver函数教程,为每一个函数都进行了相关举例说明, 如下所示: sqlserver聚合函数教程: mssql sqlserver avg聚合函数使用简介 mssql sq ...
- mssql sqlserver 验证整型函数分享
转自:http://www.maomao365.com/?p=6227 摘要: 下文将制作一个isnumber验证整型的函数,供在sql脚本中做数值判断,如下所示: 例: 实现原理:判断 是否包含特殊 ...
- mssql sqlserver 索引专题
摘要: 下文将详细讲述sql server 索引的相关知识,如下所示: 实验环境: sql server 2008 R2 sqlserver索引简介: mssql sqlsever 索引分类简介 ms ...
- mssql sqlserver 将字段null(空值)值替换为指定值的三种方法分享
摘要: 下文将分享两种将字段中null值替换为指定值的方法分享,如下所示: 实验环境:sqlserver 2008 R2 例: )) go insert into test(info)values(' ...
- mssql sqlserver 使用sql脚本 清空所有数据库表数据的方法分享
摘要: 下文讲述清空数据库中所有表信息的方法分享,如下所示: 实验环境:sql server 2008 实现思路: 1.禁用所有约束,外键 2.禁用所有触发器 3.删除表数据 4.开启触发器 5.开启 ...
- mssql sqlserver 判断字符串大小写的方法分享
摘要:下文讲述使用sql脚本的方法判断字符串为大小写的方法分享,如下所示 实验环境:sqlserver 2008 R2 实现思路: 将字符串转换为大写或小写然后转换为二进制编码, 然后和源字符串做对比 ...
- mssql sqlserver 使用sql脚本检测数据表中一列数据是否连续的方法分享
原文地址:http://www.maomao365.com/?p=7335 摘要: 数据表中,有一列是自动流水号,由于各种操作异常原因(或者插入失败),此列数据会变的不连续,下文将讲述使用sql ...
- mssql sqlserver 使用sql脚本输出交替不同的背景色的html信息的方法分享
转自:http://www.maomao365.com/?p=6679 摘要: 下文将分享使用sql脚本输出交替变换的不同背景颜色的sql脚本的方法分享,如下所示: 实验环境:sqlserver 20 ...
- mssql sqlserver 取消数值四舍五入的方法分享
摘要: 下文讲述使用round sql函数,对数值型数据进行舍入操作 实验环境:sqlserver 2008 转自: http://www.maomao365.com/?p=6454 最近接到用户需求 ...
随机推荐
- casbin的分析
casbin的分析 问题 一般的项目中,都会有权限认证模块,用来控制不同的角色,可以访问的功能.比较出名的权限控制模型有ACL和RABC.如果每个项目中,都重新实现权限控制模块,这样操作会比较繁琐,希 ...
- 使用vue之directive设计列表加载更多
背景 之前写过一篇<纯JS实现加载更多(VUE框架)>,它的逻辑思路比较清晰易懂,而今天看了一天公司项目的部分功能代码,发现同事们写的加载更多的功能更加的有趣,而且易于封装到一个组件当中, ...
- UnicodeDecodeError: 'ascii' codec can't decode byte
这个问题遇到过很多次了,但是每次都没记住,用完就忘了,这次记录下. 通过关键词谷歌一下: 解决方案: # encoding=utf8 import sys reload(sys) sys.setdef ...
- SHELL脚本--变量(基础)
bash&shell系列文章:http://www.cnblogs.com/f-ck-need-u/p/7048359.html 变量存在于内存中.假设变量str,设置或修改变量属性时,不带$ ...
- CSRF跨站伪造请求
一.什么是CSRF CSRF(Cross Site Request Forgery) 跨站请求伪造.也被称为One Click Attack和Session Riding,通常缩写为CSRF或XSRF ...
- QT 设置有效绘图区域
void QPainter::setClipRect(int x, int y, int width, int height, Qt::ClipOperation operation = Qt::Re ...
- Redis基础认识及常用命令使用(一)--技术流ken
Redis简介 redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset(有序集 ...
- AvosCloud的文件存储 Demo
时间戳:201310142227 废话少说,直接上代码: package com.dannalapp.main; import com.avos.avoscloud.GetCallback; impo ...
- 【转载】C#防SQL注入过滤危险字符信息
不过是java开发还是C#开发或者PHP的开发中,都需要关注SQL注入攻击的安全性问题,为了保证客户端提交过来的数据不会产生SQL注入的风险,我们需要对接收的数据进行危险字符过滤来防范SQL注入攻击的 ...
- vs 调试 iis中的网站
打开网站,在vs中附加进程,选择w3wp.exe,如果不能下断点,设置一下pdb文件位置