随笔分类 -  mssql

摘要:--规则一.不允许对update更新的字段单独写子查询语句更新 --规则二.不允许在SELECT查询语句中使用相关子查询获取字段的值 --规则三.尽量不要在对象语句中使用循环 --规则四.不允许在对象语句中使用游标 --规则五.不允许使用触发器 --规则六.不允许在对象语句的WHERE过滤条件中使用 阅读全文
posted @ 2020-11-09 17:05 思路决定出路 阅读(72) 评论(0) 推荐(0)
摘要:性能优化的重点在于识别定位问题,预先了解主要的性能杀手,能够更快的定位到问题并将工作集中在可能的原因之上。 SQL SERVER性能杀手主要集中在如下几类: 1.1 低质量的索引 低质量的索引通常是SQL SERVER最大的性能杀手,对于一个缺乏索引的查询,SQL SERVER 需要处理大量的读取和 阅读全文
posted @ 2020-11-09 16:58 思路决定出路 阅读(100) 评论(0) 推荐(0)
摘要:SELECT (total_elapsed_time / execution_count)/1000 N'平均时间ms' ,total_elapsed_time/1000 N'总花费时间ms' ,total_worker_time/1000 N'所用的CPU总时间ms' ,total_physica 阅读全文
posted @ 2017-03-10 15:48 思路决定出路 阅读(355) 评论(0) 推荐(0)
摘要:铁律一:天下没有免费的午餐,使用索引是需要付出代价的。 铁律二:对于查询中很少涉及的列或者重复值比较多的列,不要建立索引。 铁律三:对于按范围查询的列,最好建立索引。 铁律四:表中若有主键或者外键,一定要为其建立索引。 铁律五:对于一些特殊的数据类型,不要建立索引。 铁律六:索引可以跟Where语句 阅读全文
posted @ 2016-07-04 11:25 思路决定出路 阅读(207) 评论(0) 推荐(0)
摘要:一般情况下,SQL Server的查询优化器会对查询做优化,选择适合的索引。 当遇到一些宽表,索引和where 过滤条件多时, 查询优化器选择的可能并不是最佳的索引, 此时需要手动指定索引。具体效果可以在“执行计划中查看”。 select * from 表名 with (nolock, index( 阅读全文
posted @ 2016-06-13 11:32 思路决定出路 阅读(357) 评论(0) 推荐(0)
摘要:建立索引常用的规则如下:1、表的主键、外键必须有索引;2、数据量超过300的表应该有索引;3、经常与其他表进行连接的表,在连接字段上应该建立索引;4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;5、索引应该建在选择性高的字段上;6、索引应该建在小字段上,对于大的文本字段甚至超长... 阅读全文
posted @ 2015-05-05 21:58 思路决定出路 阅读(703) 评论(0) 推荐(0)