sqlserver
陆游不是路由
这个作者很懒,什么都没留下…
展开
-
还在用Not in为什么不用 join
在一次实际的业务中,检查SqlServer性能报表,客户的一个操作非常慢,检查报表后发现一个插入语句执行了11S,一个保存业务竟然有这么慢的SQL语句,检查发现是前辈在Insert into中使用了Not in。这里也不废话了想知道NOT IN为什么慢去百度一下吧,我就不说了。 后来我改写NOT IN为LEFT JOIN 整个插入由11S降到1S以内。我举个例子吧 not in 的原创 2016-08-27 21:19:47 · 2721 阅读 · 0 评论 -
SqlServer存储过程、函数、游标例子之函数(一)
--1.标量函数:标量函数是对单一值操作,返回单一值。能够使用表达式的地方,就可以使用标量函数。像我们经常使用的left、getdate等,都属于标量函数。系统函数中的---标量函数包括:数学函数、日期和时间函数、字符串函数、数据类型转换函数等create function [dbo].[getName3](@tjbh varchar(20)) returns varchar(2原创 2016-08-28 10:41:50 · 1335 阅读 · 0 评论 -
SqlServer存储过程、函数、游标例子之游标(三)
/*@@fetch_status是MicroSoft SQL SERVER的一个全局变量 其值有以下三种,分别表示三种不同含义:【返回类型integer】0 FETCH 语句成功-1 FETCH 语句失败或此行不在结果集中-2 被提取的行不存在*/--------------------------------------------------------------原创 2016-08-28 10:44:53 · 1180 阅读 · 0 评论 -
SqlServer存储过程、函数、游标例子之存储过程(二)
--1不论执行结果有无记录集,其返回值是0create Procedure Dbo.csfhz as begin Declare @ReturnValue varchar(20) set @ReturnValue='3213123'end Declare @a int exec @a=csfhzprint @a原创 2016-08-28 10:43:42 · 546 阅读 · 0 评论 -
衔接服务器连接错误,错误代码15466和15185的解决办法
记得上个月也帮客户处理过这个问题,不知道什么情况导致的,昨天他们说重启了下服务器,然后衔接服务就报这个错误了。所以记录一下处理方法,免得以后又要重新去找解决办法 消息 15466,级别 16,状态 2,过程 sp_addlinkedsrvlogin,第 91 行解密过程中出错。消息 15185,级别 16,状态 1,过程 sp_addlinkedsrvlogin,第 98原创 2016-09-13 14:53:19 · 1670 阅读 · 0 评论 -
关于Sql Servel 表数据量大的优化处理。
这几天遇到业务表由于数据量过大导致整体的业务操作都很慢,而且又没有帐套机制,导致转数据很麻烦,还要修改程序。 所以我自己想到一个简单方法,程序设计的时候查询用视图,视图里放着主业务表和历年的帐套表。视图里我们可以很快的修改查询的内容。 比如有个业务表叫A表,还有个2016年的帐套表,A_2015。主业务还是可以继续使用A表做操作,但是2015年的数据全部转到A_2015里。做一个视图原创 2016-09-06 09:19:33 · 1212 阅读 · 0 评论 -
Sql servel 事物回滚一(XACT_ABORT 事物回滚)
/* CREATE TABLE [dbo].[t1]( [age] [int] NULL, [name] [varchar](20) NULL )ON [PRIMARY]*/---如果不设置该项为ON,在sql中默认为OFF,那么只只回滚产生错误的 Transact-SQL 语句;设为ON,回滚整个事务SET XACT_AB原创 2016-09-07 17:48:20 · 427 阅读 · 0 评论 -
Sql server事物回滚二(根据条件判断)
declare @iErrorCount int set @iErrorCount = 0begin tran Tran1 insert into t1(Id, c1) values(1,'1') set @iErrorCount=@iErrorCount+@@error insert into t1(Id, c1) valu原创 2016-09-07 17:49:13 · 1346 阅读 · 0 评论 -
sql serverl 事物回滚三(try...catch事务回滚)
--1.第一种。try catch Begin Try Begin Tran Tran1 insert into t1(Id, c1) values(1,'1') insert into t1(Id, c1) values('XX2','2') --此句产生错误 COMMIT TRAN Tran1END Tr原创 2016-09-07 17:50:10 · 4007 阅读 · 1 评论