
SQL Server
文章平均质量分 56
Richard_dzh
这个作者很懒,什么都没留下…
展开
-
SQL执行效率,执行计划
1.通过SQL Server Profiler来跟踪执行的sql语句,如下图 通过查看Duration来查看执行这一步话费了多场时间。2.通过查看Sql执行计划来查看 set statistics profile on --打开 set statistics profile off --关闭 SQL Server会采用三种方原创 2014-08-19 11:34:45 · 643 阅读 · 0 评论 -
SqlServer中除法的问题
首先先计算两个小问题:1.select (11+0-7)/972.select cast((11+0-7)/97 as decimal(10,4))这两者的结果是什么?答案为:0和0.0000原因:在SqlServer中int除以int结果就为int。第二个转换也是无效的。解决方法:将分子或者分母设置为decimal类型即可。like this:sele原创 2016-04-21 11:44:08 · 6351 阅读 · 0 评论 -
行转列
一直以为已经写过这个博客的。。。结果没有1. 首先你要找到你是根据什么分组(group by),也就是通常第一列会什么呢 举个例子呢: ========》以什么分组呢?肯定是名字的啦!!!再举个例子:===>这个又会要已什么分组呢?毫无疑问是RoomTypeCode这时候你会写出group by 的语句出来,比如上面的两例应该会是这样子: sel原创 2016-02-24 10:52:25 · 927 阅读 · 0 评论 -
游标
一直都说游标效率不好,影响性能,但是我还是决定学一下。。。稍作了解即可吧 作用:对表中每条数据做循环。 declare bdcursor cursor for select CreatedBy,AccountSubjectCode from tb open bdcursor declare @createBy varchar(20),@accountSubjectCode原创 2015-11-13 17:03:31 · 365 阅读 · 0 评论 -
参数化查询速度慢
好累,加班到现在,但是其实你的负责的工作都已经做完了。可是还需要配合别人,只能等!!! 现在已经凌晨了。。。工作分配不够好?个人不负责?时间规划不好?不知道!!!说入正题,这是问题原型:SQL 慢的:select * from MyTable where InputTime>'2015-05-09'SQL 快的:Declare @t datetimeset @原创 2015-05-09 00:36:28 · 1681 阅读 · 1 评论 -
复合索引,覆盖索引,书签查找(键查找)
今天一位小伙伴问我关于SQL查询效率以及索引的东西。我说只要尽量命中索引即可。特别是聚集索引。思前想后,好像总有什么不对!于是又做了一番资料查询,发现索引不是那么简单,即使是命中索引也是没那么简单。突然有些感慨,当个DBA不容易啊。1.复合索引先说说复合索引,相信大家都知道。两个或更多列上的索引就被称作复合索引。最近在做某酒店的项目。拿这个举个例子:Order表原创 2015-08-03 18:03:19 · 1197 阅读 · 0 评论 -
For XML Path
关于For XML Path的用法 创建的表数据如图:先看下for xml path的初始用法:select ClassID,Sex,Age,Name from #PersonInfo for xml path('PersonInfo') 从名字就看可以看出用法,for xml !!!在使用过程中感觉通常是恶group by 一起用的。举例如下:--统计原创 2015-06-10 14:58:54 · 1084 阅读 · 0 评论 -
判断表(临时表),存储过程是否存在
1.判断正式表或者存储过程是否存在 select * from dbo.sysobjects where id=OBJECT_ID(N'dbo.Users') and type='U' --U表示表 select * from dbo.sysobjects where id= object_id(N'usp_InsertAliPayFeedback') and typ原创 2015-04-17 11:38:57 · 1431 阅读 · 0 评论 -
CaseSensitive区分大小写
在查询数据后返回的DataTable和DataSet数据集中若设置了ds.CaseSensitive = true;此时再使用DataRow[] drs1 = dt.Select(" HotelID='TestUp' ");DataRow[] drs2 = dt.Select(" HotelID='TestUP' ");两者返回的数据是不一样的不过可以在原创 2014-11-19 16:37:34 · 3943 阅读 · 0 评论 -
SqlDataReader,SqlDataAdapter区别
当时听微软renSqlDataAdapter的使用方法SqlDataAdapter sda = new SqlDataAdapter(cmd);ds = new DataSet();sda.Fill(ds);SqlDataReader的使用方法 reader = cmd.ExecuteReader();原创 2014-07-02 18:42:02 · 813 阅读 · 0 评论 -
ExecuteNonQuery执行多条SQL
大家熟知ExecuteNonQuery返回的是执行SQL语句后所返回的影响行数。那执行多条SQL语句返回值是多少?不是最后一条SQL影响的行数;不是所有SQL影响行数的总和(也可以算做总和,毕竟Select不影响行数)执行Select是——————返回 -1执行Update是——————返回Update影响的行数执行Select + Update是——————返回的是Upd原创 2014-11-19 14:40:25 · 2752 阅读 · 0 评论 -
索引,Sql查询性能优化,书签查找
create unique clustered index myIndex on [Order](ModifyedOn) create index myIndex on [Order](ModifiedOn) drop index myIndex on [Order]首先了解书签查找: 书签查找是指在进行非聚集索引查找时,查询的列和查询条件的列 只是原创 2014-08-20 17:48:15 · 678 阅读 · 0 评论 -
SqlServer分页查询
最近看下了,我们项目中,当查询历史订单时,分页查询速度较慢。深入学习一下。 查询了很多方式,整理出下面四种方式: 实验对象:订单表(Order_HIS),字段OrderID,InputStartTime,数据量:11813628(千万级) 第一种方式(最平常的方式): select top 50 OrderID,InputStartTime fro原创 2015-11-13 16:35:01 · 635 阅读 · 0 评论