sql server使用的注意点及优化点 自备
1.字符类型建议采用varchar/nvarchar数据类型,并且禁止使用varchar(max)、nvarchar(max)
2.金额货币建议采用money数据类型 (*)
3.自增长标识建议采用bigint数据类型 (数据量一大,用int类型就装不下,那以后改造就麻烦了)
4.时间类型建议采用为datetime数据类型
5.禁止使用text、ntext、image老的数据类型
6.每张表必须有主键,尽量使用单字段主键
7.查询度较高的,不允许使用外键,会增加表结构变更及迁移的复杂度,外键插入对性能有影响,需检查主外键约束,建议在程序中控制一致性
8.新建的表,所有字段禁止为NULL,允许为null会增加更多逻辑判断
9.索引的设计原则
1)where 后经常使用的列建索引
2)对经常用到的列创建索引
3)应该对排序的OrderBY子句创建索引
4)数据量小的表禁止创建索引
5)表索引数不超过6个
6)充分利用唯一约束
7)索引包含的字段不超过5个
8)不适合创建索引的字段:性别、0/1、TRUE/FALSE
10.sql查询注意点
禁止在数据库做复杂运算
禁止使用SELECT *
禁止在索引列上使用函数或计算
禁止使用游标
禁止使用触发器
禁止在查询里指定索引
变量/参数/关联字段类型必须与字段类型一致
参数化查询
限制JOIN个数
限制SQL语句长度及IN子句个数
尽量避免大事务操作
关闭影响的行计数信息返回
除非必要SELECT语句都必须加上NOLOCK
使用UNION ALL替换UNION
查询大量数据使用分页或TOP
递归查询层级限制
NOT EXISTS替代NOT IN
临时表与表变量
使用本地变量选择中庸执行计划
尽量避免使用OR运算符
增加事务异常处理机制
输出列使用二段式命名格式
原文:http://www.cnblogs.com/liyunhua/p/4534442.html
想法:关系型数据库不使用外键是有点奇怪,如果性能需要,是考虑不要使用外键的。
sql server使用的注意点及优化点 自备的更多相关文章
- SQL Server管理员必备技能之性能优化
SQL Server管理员必备技能之性能优化 高文龙关注1人评论1171人阅读2017-09-22 08:27:41 SQL Server 作为企业必不可少的服务之一,所以对于管理员的日常运维是一个极 ...
- sql server查询时候注意的基本优化常识
1.在Where条件中尽量不要在=号左边进行函数.运算符.或表达式计算 2.在Where中尽量避免出现!=或<>操作符: 3.在Where中尽量避免对字段进行null值判定: 4.使用Li ...
- 降龙十八掌之一:(亢龙有悔)SQL Server Profiler和数据库引擎优化顾问
简介 说到Sql的[性能工具]真是强大,SQL Server Profiler的中文意思是SQL Server事件探查,这个到底是做什么用的呢?我们都知道探查的意思大多是和监视有关,其实这个SQL S ...
- SQL Server查询性能优化——堆表、碎片与索引(二)
本文是对 SQL Server查询性能优化——堆表.碎片与索引(一)的一些总结. 第一:先对 SQL Server查询性能优化——堆表.碎片与索引(一)中的例一的SET STATISTICS IO之 ...
- SQL Server 事件探查器和数据库引擎优化顾问
简介 说到Sql的[性能工具]真是强大,SQL Server Profiler的中文意思是SQL Server事件探查,这个到底是做什么用的呢?我们都知道探查的意思大多是和监视有关,其实这个SQL S ...
- SQL Server Profiler和数据库引擎优化顾问
原文:SQL Server Profiler和数据库引擎优化顾问 简介 说到Sql的[性能工具]真是强大,SQL Server Profiler的中文意思是SQL Server事件探查,这个到底 ...
- 从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点)
从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...
- SQL Server相关书籍
SQL Server相关书籍 (排名不分先后) Microsoft SQL Server 企业级平台管理实践 SQL Server 2008数据库技术内幕 SQL Server性能调优实战 SQL S ...
- 看完SQL Server 2014 Q/A答疑集锦:想不升级都难!
看完SQL Server 2014 Q/A答疑集锦:想不升级都难! 转载自:http://mp.weixin.qq.com/s/5rZCgnMKmJqeC7hbe4CZ_g 本期嘉宾为微软技术中心技术 ...
随机推荐
- 转载:NOR Flash擦写和原理分析
1. NOR FLASH 的简单介绍 NOR FLASH 是很常见的一种存储芯片,数据掉电不会丢失.NOR FLASH支持Execute On Chip,即程序可以直接在FLASH片内执行(这意味着存 ...
- 关于zookeeper的集群搭建
在所有机器上安装完zookeeper之后, 开始进行集群的搭建 1. 修改 ../zookeeper/conf/zoo.cfg 文件 tickTime=2000 dataDir=/usr/local/ ...
- 修复win7的启动引导
自己的电脑上本身是win7,为了试验openstack,决定装个ubuntu server,过程也不太懂,一直卡在分区不敢贸然前进,反复了几次,终于导致我进不了原来的win7,原因不明! 当时就慌了, ...
- CodeForces 730G Car Repair Shop (暴力)
题意:给定 n 个工作的最好开始时间,和持续时间,现在有两种方法,第一种,如果当前的工作能够恰好在最好时间开始,那么就开始,第二种,如果不能,那么就从前找最小的时间点,来完成. 析:直接暴力,每次都先 ...
- HDU4418:Time travel(高斯消元+期望)
传送门 题意 一个人在数轴上来回走,以pi的概率走i步i∈[1, m],给定n(数轴长度),m,e(终点),s(起点),d(方向),求从s走到e经过的点数期望 分析 设E[x]是人从x走到e经过点数的 ...
- Ocelot(九)- 教你如何配置Ocelot?
配置 可以在此处找到示例配置.配置有两个部分.一组ReRoutes和一个GlobalConfiguration.ReRoutes是告诉Ocelot如何处理上游请求的对象.全局配置有点hacky并允许覆 ...
- Python——nose实例示例
1. 脚本示例: 执行结果: 2. 脚本示例: 执行结果: 由以上截图可以看出执行顺序: 大体可以得出如下结论: 1)测试的顺序总体上按照包—>模块—>类的顺序进行: 2) 然后按照测试用 ...
- 光盘安装ubuntu出现busybox-initramfs不能继续安装的终极解决方法
我用的是Intel G45的主板,可能是板子太新的原因,kernel支持有问题 从光盘(官方寄来的光盘)安装ubuntu,出现提示: BusyBox V1.1.3 (Debian 1:1.1.3-5u ...
- ArrayList、HashMap 与 员工类(程序员、经理的结合使用) 相当于集合与继承的总结
package Day28ketangzuoye; import java.util.ArrayList; import java.util.HashMap; import java.util.Map ...
- 动态生成li标签,并设置点击事件
今天要解释的是如下界面 主要实现了: 1.模拟后台的json数据,动态生成li标签 2.导航栏的下划线 3.给li标签右边设置图片 4.动态生成的li标签,设置选中的li的点 ...