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
想法:关系型数据库不使用外键是有点奇怪,如果性能需要,是考虑不要使用外键的。
转载于:https://www.cnblogs.com/songjl/p/7567078.html
sql server使用的注意点及优化点 自备相关推荐
- sql server服务器物理内存满,浅谈优化SQLServer服务器内存配置
内存是影响Microsoft SQL Server系统性能的一个重要因素,SQL Server数据库安装时将为具有32MB物理内存的机器缺省配置16MB可用内存,16MB物理内存的机器缺省配置4MB可 ...
- sql server insert 锁表_SQL简单优化
网络搜索概念 1. 避免出现 大小写不统一的情况 错误的写法: SELECT id From t where name = 'zhangsan'; 正确的写法: SELECT id FROM t WH ...
- SQL Server 2014 内存优化表(1)实现内存优化表
内存优化表(Memory-Optimized Tables)是SQL Server 2014的新特性,目前仅适用于评估版(Evaluation Edition).开发版(Developer Editi ...
- 10步骤优化SQL Server 数据库性能
作者从基础的数据库索引开始全面讲述了SQL Server数据库应用程序的性能优化,包括数据库设计和数据访问代码.系列文章如下: Top 10 steps to optimize data access ...
- SQL Server 2005 性能优化实战系列(文章索引)
http://www.cnblogs.com/gaizai/archive/2012/01/20/2327814.html 前言 性能优化是数据库方向一个很重要的技能,这也是快速提供企业级应用性能最快 ...
- 转载SQL Server 数据库的性能优化
你是否在千方百计优化SQL Server 数据库的性能?如果你的数据库中含有大量的表格,把这些表格分区放入独立的文件组可能会让你受益匪浅.SQL Server 2005引入的表分区技术,让用户能够把数 ...
- 将一个基于磁盘的表迁移到SQL Server中的一个内存优化的表
本文是微软的译文,对应的原文是:https://www.red-gate.com/simple-talk/sql/database-administration/migrating-disk-base ...
- 浅谈SQL Server内部运行机制
原文:浅谈SQL Server内部运行机制 对于已经很熟悉T-SQL的读者,或者对于较专业的DBA来说,逻辑的增删改查,或者较复杂的SQL语句,都是非常简单的,不存在任何挑战,不值得一提,那么,SQL ...
- 建立合理的索引提高SQL Server的性能
建立合理的索引提高SQL Server的性能- 标签:索引,性能优化 建立合理的索引提高SQL Server的性能 在应用系统中,尤其在联机事务处理系统中,对数据查询及处理速度已成为衡量应用系统成败的 ...
- SQL Server调优系列玩转篇(如何利用查询提示(Hint)引导语句运行)
前言 前面几篇我们分析了关于SQL Server关于性能调优的一系列内容,我把它分为两个模块. 第一个模块注重基础内容的掌握,共分7篇文章完成,内容涵盖一系列基础运算算法,详细分析了如何查看执行计划. ...
最新文章
- 安装百分之80卡住_石家庄铜铝80*80散热器品牌
- 电脑怎么远程控制另一台电脑_如何用手机远程控制电脑?
- 阿里云搭建图片服务器,图片资源服务器搭建
- 开启82571EB/82572EI Multiple transmit queues
- SQL替换字段中一部分字符串
- u盘内存怎么测试软件,怎么使用U盘启动盘进行内存测试?电脑内存测试工具使用方法...
- 神经网络模型应用实例SPSS - 典型的神经网络模型 - 神经网络模型的应用
- 创建邮件服务器(メールサーバー)Radish
- 老王的JAVA基础课:第6课 JAVA基本数据类型
- 7-47 打印选课学生名单 (25分)C++
- 【XSS跨站脚本】反射型xss(非持久型)
- 打包chromium浏览器
- 《程序员脱发指南》--饮食篇
- 从C、C++、Java到Python,编程入门到底学什么语言好?
- Mysql 全外连接的实现
- 85寸电视机长宽是多少
- 比例导引 matlab,比例导引法Matlab仿真.docx
- EO类与VO类--组装转换
- 【Java】对象的实例化
- 关于嵌入式软件分层设计
热门文章
- python open 编码格式_Python以unicode编码格式读入外部文件
- python脚本实现ipv6的ddns功能
- spring boot全局异常捕捉
- 注意!思科Aironet 1830和1850系列存在硬编码密码,请尽快修复!
- 【MySQL】Linux下MySQL 5.5、5.6和5.7的RPM、二进制和源码安装
- 函数式编程-尾递归、尾调用
- 从中煤陕西公司看政企移动信息化应用
- extjs fileuploadfield default value
- 为VMware ESXi主机添加本地存储的过程及注意事项-之3
- 数据--第43课 - 图课后练习