标签: SQL Server
This article gives an overview of the KILL SPID command and how to monitor the rollback progress.本文概述了KILL SPID命令以及如何监视回滚进度。 ... 阅读全文
MSSQL无法kill掉会话,会话一直处于killed、rollback状态
问题现象进程一直killed不掉 使用 kill 129之后可以使用 kill session_id/spid with statusonly 查看回滚进度 解决方案1:使用 process e ... 阅读全文
数据库构造大表或慢查询SQL语句
Oracl-- 一个查询慢的sql例子select count(1) from dba_objects inner join user_objects b on 1=inner join use ... 阅读全文
MSSQL为什么索引视图(物化视图)需要with(noexpand)强制查询提示
第一次通过索引视图优化SQL语句,以及遇到的一些问题,记录一下。语句分析最近开发递交过来一个查询统计的SQL,说是性能有问题,原本执行需要4-5秒钟,这个业务本身对性能要求又比较critical,期望 ... 阅读全文
MSSQL通过手动创建统计信息优化SQL查询性能案例
本质原因在于:SQL Server 统计信息只包含复合索引的第一个列的信息,而不包含复合索引数据组合的信息来源于工作中的一个实际问题这里是组合列数据不均匀导致查询无法预估数据行数,从而导致无法选择合 ... 阅读全文
MSSQL聚集索引扫描 Scan Direction的两种方式--FORWARD 和 BACKWARD
最近发现一个分页查询存储过程中的的一个SQL语句,当聚集索引列的排序方式不同的时候,效率差别达到数十倍,让我感到非常吃惊由此引发出来分页查询的情况下对大表做Clustered Scan的时候不同情况 ... 阅读全文
MSSQL执行计划利用统计信息对数据行的预估原理以及SQL Server 2014中预估策略的改变
前提 本文仅讨论SQL Server查询时 对于非复合统计信息,也即每个字段的统计信息只包含当前列的数据分布的情况下 在用多个字段进行组合查询的时候,如何根据统计信息去预估行 ... 阅读全文
MSSQL统计信息更新时采样百分比对数据预估准确性的影响
为什么要写统计信息 最近看到园子里有人写统计信息,楼主也来凑热闹。 话说经常做数据库的,尤其是做开发的或者优化的,统计信息造成的性能问题应该说是司空见惯。 当然解决办法也并非一成不变,“一招鲜吃 ... 阅读全文
MSSQL中pivot行列转换减少扫描计数优化查询语句
先看常用的一种表结构设计方式那么可能会遇到一种典型的查询方式,主子表关联,查询子表中的某些(或者全部)Key点对应的Value,横向显示(也即以行的方式显示这种查询方式很明显的一个却显示多次对字表查询(暂时抛开索引 ... 阅读全文
MSSQL数据库的存储过程中定义的临时表,真的有必要显式删除(drop table #tableName)吗?
问题背景在写SQL Server存储过程中,如果存储过程中定义了临时表有些人习惯在存储过程结束的时候一个一个显式地删除过程中定义的临时表(drop table #tName),有些人又没有这个习惯阅读全文
MSSQL中的索引视图(物化视图)
经常听Oracle的同学说起来物化视图,物化视图的作用之一就是可以实现查询重写,听起来有一种高大上的感觉 SQL Server也有类似于Oracle物化视图的功能,只不过叫做索引视图。 说实 ... 阅读全文
MSSQL如何获取存储过程中正在执行的真实SQL语句(定位存储过程中最耗时部分)
简介存储过程优化的重点和难点在于如何找到存储过程中最耗时的部分。尤其对于很长的存储过程,或者多层嵌套调用的存储过程,难度会更大。大致有两种情况慢在自身SQ慢在执行其他嵌套存储过程/函数/link的SQ ... 阅读全文