随笔分类 -  SQL

摘要:SQL 生成日历 create PROCEDURE GetMonthTable ( @Date datetime ) AS BEGIN DECLARE @Start DATETIME,@End DATETIME DECLARE @Index INT SET @Start = DATEADD(MONT 阅读全文
posted @ 2021-01-08 15:36 星火卓越 阅读(164) 评论(0) 推荐(0) 编辑
摘要:create table #EnterPrise( Department nvarchar(50),--部门名称 ParentDept nvarchar(50),--上级部门 DepartManage nvarchar(30)--部门经理) insert into #EnterPrise selec 阅读全文
posted @ 2019-12-31 21:15 星火卓越 阅读(464) 评论(0) 推荐(0) 编辑
摘要:在做数据统计的时候,行转列,列转行是经常碰到的问题。case when方式太麻烦了,而且可扩展性不强,可以使用 PIVOT,UNPIVOT比较快速实现行转列,列转行,而且可扩展性强 一、行转列 1、测试数据准备 CREATE TABLE [StudentScores] ( [UserName] NV 阅读全文
posted @ 2019-03-13 16:10 星火卓越 阅读(404) 评论(0) 推荐(0) 编辑
摘要:partition by关键字是分析性函数的一部分,它和聚合函数不同的地方在于它能返回一个分组中的多条记录,而聚合函数一般只有一条反映统计值的记录,partition by用于给结果集分组,如果没有指定那么它把整个结果集作为一个分组,分区函数一般与排名函数一起使用。 准备测试数据: create t 阅读全文
posted @ 2019-03-13 16:09 星火卓越 阅读(546) 评论(0) 推荐(0) 编辑
摘要:问题 在删除sql server中某数据库下的用户时报15138错误,见下图 解决 可用下述sql代码检查该用户的架构信息,然后逐一修正 SELECT s.name FROM sys.schemas s WHERE s.principal_id = USER_ID('hzladmin'); 从上图可 阅读全文
posted @ 2018-04-19 11:11 星火卓越 阅读(725) 评论(0) 推荐(0) 编辑
摘要:介绍 经常会有人问profile工具该怎么使用?有没有方法获取性能差的sql的问题。自从转mysql我自己也差不多2年没有使用profile,忽然profile变得有点生疏不得不重新熟悉一下。这篇文章主要对profile工具做一个详细的介绍;包括工具的用途和使用方法等。profile是SQLServ 阅读全文
posted @ 2018-04-18 10:28 星火卓越 编辑
摘要:前言 上几篇文章我们介绍了如何查看查询计划、常用运算符的介绍、并行运算的方式,有兴趣的可以点击查看。 本篇将分析在SQL Server中,如何利用先有索引项进行查询性能优化,通过了解这些索引项的应用方式可以指导我们如何建立索引、调整我们的查询语句,达到性能优化的目的。 闲言少叙,进入本篇的正题。 技 阅读全文
posted @ 2017-12-22 22:51 星火卓越 阅读(233) 评论(0) 推荐(0) 编辑
摘要:前言 上三篇文章我们介绍了查看查询计划的方式,以及一些常用的连接运算符、联合运算符的优化技巧。 本篇我们分析SQL Server的并行运算,作为多核计算机盛行的今天,SQL Server也会适时调整自己的查询计划,来适应硬件资源的扩展,充分利用硬件资源,最大限度的提高性能。 闲言少叙,直接进入本篇的 阅读全文
posted @ 2017-12-22 22:50 星火卓越 阅读(549) 评论(0) 推荐(1) 编辑
摘要:前言 上一篇文章我们介绍了查看查询计划的并行运行方式。 本篇我们接着分析SQL Server的并行运算。 闲言少叙,直接进入本篇的正题。 技术准备 同前几篇一样,基于SQL Server2008R2版本,利用微软的一个更简洁的案例库(Northwind)进行解析。 内容 文章开始前,我们先来回顾上一 阅读全文
posted @ 2017-12-22 22:50 星火卓越 阅读(318) 评论(0) 推荐(0) 编辑
摘要:前言 上一篇我们介绍了如何查看查询计划,本篇将介绍在我们查看的查询计划时的分析技巧,以及几种我们常用的运算符优化技巧,同样侧重基础知识的掌握。 通过本篇可以了解我们平常所写的T-SQL语句,在SQL Server数据库系统中是如何分解执行的,数据结果如何通过各个运算符组织形成的。 技术准备 基于SQ 阅读全文
posted @ 2017-12-22 22:49 星火卓越 阅读(394) 评论(0) 推荐(0) 编辑
摘要:前言 上两篇文章我们介绍了查看查询计划的方式,以及一些常用的连接运算符的优化技巧,本篇我们总结联合运算符的使用方式和优化技巧。 废话少说,直接进入本篇的主题。 技术准备 基于SQL Server2008R2版本,利用微软的一个更简洁的案例库(Northwind)进行解析。 一、联合运算符 所谓的联合 阅读全文
posted @ 2017-12-22 22:49 星火卓越 阅读(201) 评论(0) 推荐(0) 编辑
摘要:前言 关于SQL Server调优系列是一个庞大的内容体系,非一言两语能够分析清楚,本篇先就在SQL 调优中所最常用的查询计划进行解析,力图做好基础的掌握,夯实基本功!而后再谈谈整体的语句调优。 通过本篇了解如何阅读和理解查询计划、并且列举一系列最常用的查询执行运算符。 技术准备 基于SQL Ser 阅读全文
posted @ 2017-12-22 22:48 星火卓越 阅读(164) 评论(0) 推荐(0) 编辑
摘要:前言 一提到跟踪俩字,很多人想到警匪片中的场景,同样在我们的SQL Server数据库中“跟踪”也是无处不在的,如果我们利用好了跟踪技巧,就可以针对某些特定的场景做定向分析,找出充足的证据来破案。 简单的举几个应用场景: 在线生产库为何突然宕机?数百张数据表为何不翼而飞?刚打好补丁的系统为何屡遭黑手 阅读全文
posted @ 2017-12-22 22:47 星火卓越 阅读(716) 评论(0) 推荐(0) 编辑
摘要:当前时间周的起始日期(以周一为例)select DATEADD(week,DATEDIFF(week,0,getdate()),0)上周起始:select dateadd(week,-1,DATEADD(week,DATEDIFF(week,0,getdate()),0))上上周起始:select 阅读全文
posted @ 2017-10-24 22:24 星火卓越 阅读(5188) 评论(0) 推荐(2) 编辑
摘要:DECLARE @startDate1 DATE;DECLARE @startDate DATETIME;SET @startDate1=GETDATE();SELECT @startDate=DATEADD(DAY,-1,@startDate1); DECLARE @endDate DATETIM 阅读全文
posted @ 2017-09-18 20:40 星火卓越 阅读(1521) 评论(0) 推荐(0) 编辑
摘要:select [name] ,create_date ,modify_date FROM sys.all_objects where type_desc = N'SQL_STORED_PROCEDURE' 阅读全文
posted @ 2017-03-18 22:47 星火卓越 阅读(3515) 评论(0) 推荐(0) 编辑
摘要:在SQL server的性能优化过程中,TSQL的语句优化是很重要的一环。当您使用各种手段找出系统最需要优化的语句后,应该如何对该语句进行优化呢?下面列出一些TSQL语句优化的常见技巧。1.语句的执行计划分析首先要对该语句的执行计划(execution plan)进行分析,找出语句运行慢的原因。比如... 阅读全文
posted @ 2015-08-09 21:03 星火卓越 阅读(347) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示