Welcome 微信登录

首页 / 数据库 / SQLServer

SQLSERVER语句的执行时间显示的统计结果是什么意思

SQLSERVER语句的执行时间显示的统计结果是什么意思

在SQL语句调优的时候,大部分都会查看语句执行时间,究竟SQLSERVER显示出来的统计结果是什么意思? 下面看一下例子 比较简单的语句: 复制代码 代码如下: 1 SET STATISTICS TIME ON 2 USE [pratice] 3 GO 4 SELECT * FROM [dbo].[Orders] 结果: 复制代码 代码如下: SQL Server 分析和编译时间: CPU 时间 = 0 毫秒,占用时间 = 0 毫秒。 SQL Serve...
你真的了解触发器么 数据实时同步更新问题剖析

你真的了解触发器么 数据实时同步更新问题剖析

当我们想更新一张动态表的时候(即:表中的数据不断的添加),也许我们会用数据库代理,通过写作业,然后让他定时查询动态表中最新添加的数据,然后更新数据。这样时能实现更新数据的要求,但是数据却不能实时同步更新。 这个时候,触发器就是我们想要的神器了。我们可以在那张动态表上新建触发器。触发器的实质就是个存储过程,只不过他调用的时间是根据所建的动态表发生该表而执行(即:Insert新数据,Update或者Delete数据)。 具体怎么使用触发器,今天我这里就不介绍了...
存储过程实现订单号,流水单号(8位)的详细思路

存储过程实现订单号,流水单号(8位)的详细思路

此文章是借鉴园中的各位大神的,本人只是略作修改。有不好的地方,欢迎吐槽。 先写实现思路,然后再贴上代码 1.建立存储过程,声明输出参数@indentNum,输出订单号 2.一般订单号由两部分组成,日期和后续的订单号,根据需求看日期后面需要跟多少位数字,此文为8位。 3.定义函数@date为日期部分,赋值。 4.判断表中是否存在当日的数据,根据日期进行查询,一般订单表中都会有日期的吧。 5.如果表中存在,则在其表中最大的订单上+1,如果没有则新增当日的第一条...
SQL Server简单模式下误删除堆表记录恢复方法(绕过页眉校验)

SQL Server简单模式下误删除堆表记录恢复方法(绕过页眉校验)

首先,我需要强调下,这篇主旨是揭示堆表的删除记录找回的原理,我所考虑的方面并不适用于每个人的每种情况,望大家见谅~ 很多朋友认为数据库在简单模式下,堆表误删除一条记录,是无法找回的,因为没有日志记录。其实不然,某种意义上是可以找回的,因为堆表在删除记录时,只更改了行偏移,实际数据没有被物理删除,所以利用这点,测试了下恢复数据,果然成功了,但是还有点问题没有研究出结果:如果不关闭页面校验,除了更改偏移量,删除数据时还需要更改页眉,这点还没时间去琢磨,所以恢复...
SQLSERVER的非聚集索引结构深度理解

SQLSERVER的非聚集索引结构深度理解

我们知道SQLSERVER的数据行的存储有两种数据结构:A: 堆 B :B树(binary 二叉树)数据按照这种两种的其中一种来排序和存储,学过数据结构的朋友应该知道二叉树,为什麽用二叉树,因为方便用二分查找法来快速找到数据。如果是堆,那么数据是不按照任何顺序排序的,也没有任何结构,数据页面也不是首尾相连的,不像B树,数据页面使用双向链表首尾相连。堆表只依靠表里的IAM页(索引分配映射页)将堆的页面联系在一起,IAM里记录了页面编号,页面位置除非表里有聚集...
向数据库中插入数据并返回当前插入的行数及全局变量@@IDENTITY应用

向数据库中插入数据并返回当前插入的行数及全局变量@@IDENTITY应用

数据库中有张表User,字段是ID和Name,ID自增。 利用存储过程实现插入时返回当前的行数 复制代码 代码如下: CREATE PROC Proc_InsertUser @name nvarchar(100) AS INSERT INTO dbo.User( Name )VALUES(@name) SELECT @@IDENTITY AS ID 利用全局变量@@IDENTITY实现。 如果哪里有不正确的地方,欢迎批评指正,共同进步。...
SQL语句的各个关键字的解析过程详细总结

SQL语句的各个关键字的解析过程详细总结

由于最近需要做一些sql query性能提升的研究,因此研究了一下sql语句的解决过程。在园子里看了下,大家写了很多相关的文章,大家的侧重点各有不同。本文是我在看了各种资料后手机总结的,会详细的,一步一步的讲述一个sql语句的各个关键字的解析过程,欢迎大家互相学习。SQL语句的解析顺序 简单的说一个sql语句是按照如下的顺序解析的:1. FROM FROM后面的表标识了这条语句要查询的数据源。和一些子句如,(1-J1)笛卡尔积,(1-J2)ON过滤,(1-...
SQLSERVER的版本信息和SP补丁信息查看方法

SQLSERVER的版本信息和SP补丁信息查看方法

打开SQLSERVER配置管理器,然后用鼠标左键双击打开属性对话框,然后选择高级选项卡就可以看到SQL的版本信息以前经常使用以下语句来看版本信息,SP版本,现在双击一下鼠标就可以看到了,最重要的是方便客户,无理由叫客户写SQL语句来查看吧复制代码 代码如下:SELECT SERVERPROPERTY("edition") SELECT SERVERPROPERTY("productlevel")...
SQL2000中的默认sa帐号的修改与删除方法

SQL2000中的默认sa帐号的修改与删除方法

现在用MSSQL的地方太多了,有很多做技术的个人电脑上也安装SQL专业版,因为它用的多,但用的人都知道,SQL有个超级用户sa,此用户默认情况下,它指派给固定服务器角色 sysadmin,并不能进行更改。一般懂点安全问题的技术人员都会把这个密码修改掉,但修改再复杂的密码都不是绝对安全的,一些暴力破解软件,菜鸟都会用。那怎么办呢,最好的办法就是删除或改名,下面提供方法.为了加强安全把默认的sa用户更改掉,安全性会有大幅提升。 Alter LOGIN sa D...
N字符在Sql Server字段类型中的重要性概述

N字符在Sql Server字段类型中的重要性概述

Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示 如果还为了这个纠结,就直接看看后面的解说,做决定吧。 一般如果用到中文或者其它特殊字符,我就会使用n开头的类型,否则的话直接使用var开头的。 sql server中的varchar和Nvarchar有什么区别? 答: varchar(n) 长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,...
<< 281 282 283 284 285 286 287 288 289 290 >>