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

想法:关系型数据库不使用外键是有点奇怪,如果性能需要,是考虑不要使用外键的。

转载于:https://www.cnblogs.com/songjl/p/7567078.html

sql server使用的注意点及优化点 自备相关推荐

  1. sql server服务器物理内存满,浅谈优化SQLServer服务器内存配置

    内存是影响Microsoft SQL Server系统性能的一个重要因素,SQL Server数据库安装时将为具有32MB物理内存的机器缺省配置16MB可用内存,16MB物理内存的机器缺省配置4MB可 ...

  2. sql server insert 锁表_SQL简单优化

    网络搜索概念 1. 避免出现 大小写不统一的情况 错误的写法: SELECT id From t where name = 'zhangsan'; 正确的写法: SELECT id FROM t WH ...

  3. SQL Server 2014 内存优化表(1)实现内存优化表

    内存优化表(Memory-Optimized Tables)是SQL Server 2014的新特性,目前仅适用于评估版(Evaluation Edition).开发版(Developer Editi ...

  4. 10步骤优化SQL Server 数据库性能

    作者从基础的数据库索引开始全面讲述了SQL Server数据库应用程序的性能优化,包括数据库设计和数据访问代码.系列文章如下: Top 10 steps to optimize data access ...

  5. SQL Server 2005 性能优化实战系列(文章索引)

    http://www.cnblogs.com/gaizai/archive/2012/01/20/2327814.html 前言 性能优化是数据库方向一个很重要的技能,这也是快速提供企业级应用性能最快 ...

  6. 转载SQL Server 数据库的性能优化

    你是否在千方百计优化SQL Server 数据库的性能?如果你的数据库中含有大量的表格,把这些表格分区放入独立的文件组可能会让你受益匪浅.SQL Server 2005引入的表分区技术,让用户能够把数 ...

  7. 将一个基于磁盘的表迁移到SQL Server中的一个内存优化的表

    本文是微软的译文,对应的原文是:https://www.red-gate.com/simple-talk/sql/database-administration/migrating-disk-base ...

  8. 浅谈SQL Server内部运行机制

    原文:浅谈SQL Server内部运行机制 对于已经很熟悉T-SQL的读者,或者对于较专业的DBA来说,逻辑的增删改查,或者较复杂的SQL语句,都是非常简单的,不存在任何挑战,不值得一提,那么,SQL ...

  9. 建立合理的索引提高SQL Server的性能

    建立合理的索引提高SQL Server的性能- 标签:索引,性能优化 建立合理的索引提高SQL Server的性能 在应用系统中,尤其在联机事务处理系统中,对数据查询及处理速度已成为衡量应用系统成败的 ...

  10. SQL Server调优系列玩转篇(如何利用查询提示(Hint)引导语句运行)

    前言 前面几篇我们分析了关于SQL Server关于性能调优的一系列内容,我把它分为两个模块. 第一个模块注重基础内容的掌握,共分7篇文章完成,内容涵盖一系列基础运算算法,详细分析了如何查看执行计划. ...

最新文章

  1. 安装百分之80卡住_石家庄铜铝80*80散热器品牌
  2. 电脑怎么远程控制另一台电脑_如何用手机远程控制电脑?
  3. 阿里云搭建图片服务器,图片资源服务器搭建
  4. 开启82571EB/82572EI Multiple transmit queues
  5. SQL替换字段中一部分字符串
  6. u盘内存怎么测试软件,怎么使用U盘启动盘进行内存测试?电脑内存测试工具使用方法...
  7. 神经网络模型应用实例SPSS - 典型的神经网络模型 - 神经网络模型的应用
  8. 创建邮件服务器(メールサーバー)Radish
  9. 老王的JAVA基础课:第6课 JAVA基本数据类型
  10. 7-47 打印选课学生名单 (25分)C++
  11. 【XSS跨站脚本】反射型xss(非持久型)
  12. 打包chromium浏览器
  13. 《程序员脱发指南》--饮食篇
  14. 从C、C++、Java到Python,编程入门到底学什么语言好?
  15. Mysql 全外连接的实现
  16. 85寸电视机长宽是多少
  17. 比例导引 matlab,比例导引法Matlab仿真.docx
  18. EO类与VO类--组装转换
  19. 【Java】对象的实例化
  20. 关于嵌入式软件分层设计

热门文章

  1. python open 编码格式_Python以unicode编码格式读入外部文件
  2. python脚本实现ipv6的ddns功能
  3. spring boot全局异常捕捉
  4. 注意!思科Aironet 1830和1850系列存在硬编码密码,请尽快修复!
  5. 【MySQL】Linux下MySQL 5.5、5.6和5.7的RPM、二进制和源码安装
  6. 函数式编程-尾递归、尾调用
  7. 从中煤陕西公司看政企移动信息化应用
  8. extjs fileuploadfield default value
  9. 为VMware ESXi主机添加本地存储的过程及注意事项-之3
  10. 数据--第43课 - 图课后练习