代码改变世界

随笔分类 - SQL SERVER

【翻译】SQL Server索引进阶:第一级,索引简介

2012-09-07 16:35 by Virus-BeautyCode, 2526 阅读, 收藏, 编辑
摘要:原文地址:Stairway to SQL Server Indexes: Level 1, Introduction to Indexes本文是SQL Server索引进阶系列(Stairway to SQL Server Indexes)的一部分。索引是数据库设计的基础,向开发者显示了使用数据库大量数据库设计者的意图。不幸的是,索引大部分时候是在出现性能问题的时候,才被事后添加上的。第一级介绍一下SQL Server的索引:是一种数据库对象,使得SQL Server可以在最短的时间内查询 or 修改请求的数据,使用最少的系统资源带来最大的性能提升。好的索引将会允许SQL Server实现最大 阅读全文

MSSQL2005技术内幕-学习笔记

2011-09-21 09:29 by Virus-BeautyCode, 810 阅读, 收藏, 编辑
摘要:MSSQL2005技术内幕-存储引擎 MSSQL的存储单位是页面,一个页面的数据量是8K。一次I/O取回的是整个页面,如果一个页面包含80条记录,一次I/O取回的是80行数据。如果一个页面包含160条记录,那么一次I/O的效率就会翻倍。 表中的每行记录额外需要10字节(Byte)的开销,每个变长列额外需要额外2Byte的开销,包含变长列的行额外需要2Byte的开销。 阅读全文

分页存储过程(五)在MS SQL Server中打造更加准确,且有一点效率提升的的分页结果

2010-06-08 08:38 by Virus-BeautyCode, 1521 阅读, 收藏, 编辑
摘要:以前的分页我都是主子表join查询,然后会出现下面的记录形式,返回时一个数据集合  [代码]  这样的话,就造成大量的数据冗余,就是【订单1】的数据被重复多次从数据库读取。这次我尝试将他们分开返回,返回两个数据集合    订单集合  [代码]  明细集合  [代码]    这样的结果不知道会不会有效率提升,还有待测试。但是数据量少了,联合的数据量也少了。以前需要联合整张订单表和整张明细表,现在首先... 阅读全文

分页存储过程(四)在MS SQL Server中打造更加准确,且有一点效率提升的的分页结果

2010-05-24 09:16 by Virus-BeautyCode, 2542 阅读, 收藏, 编辑
摘要:在上一篇 分页存储过程(三)在MS SQL Server中打造更加准确的分页结果中,我虽然抛弃了大家不喜欢的游标,但是临时表还是存在的,但是ascrat老兄的意思被我误解了一半,所以,哈哈。。。。。。。下面是老兄在上一篇的回复,我又重新修改了T-SQL,这回要比上回的更好。  感谢老兄的指点,希望大家贡献更好的,感谢大家的参与!!!#2楼 ascrat2010-05-23 23:51 呃...可能... 阅读全文

分页存储过程(三)在MS SQL Server中打造更加准确的分页结果

2010-05-22 09:21 by Virus-BeautyCode, 2355 阅读, 收藏, 编辑
摘要:昨天的那篇分页存储过程(二)在MS SQL Server中返回更加准确的分页结果 中使用了游标,有很多热心的朋友参与讨论,感谢大家的参与。  有人提出游标不好,会锁定行,幸亏我锁定的是临时表,不是数据表,不影响数据表的写操作。  下面是14楼的回复,让我茅塞顿开,于是有了今天的改进版,取消了游标的使用,临时表还是存在的,谢谢。  #14楼 ascrat2010-05-21 21:05 其实你只要分... 阅读全文

分页存储过程(二)在MS SQL Server中返回更加准确的分页结果

2010-05-21 09:47 by Virus-BeautyCode, 3488 阅读, 收藏, 编辑
摘要:在我的使用SQL Server2005的新函数构造分页存储过程中,我提到了使用ROW_NUMBER()函数来代替top实现分页存储过程。  但是时间长了,又发现了新问题,就是主子表的分页查询。例如:订单表和订单明细表,要求是查询订单,第二页,每页10条  代码 Code highlighting produced by Actipro CodeHighlighter (freeware)http:... 阅读全文

MS SQL 技巧系列(二)SQL查询的性能大PK之:or vs. union

2010-03-18 12:06 by Virus-BeautyCode, 3118 阅读, 收藏, 编辑
摘要:在sql查询的where条件语句中,可以使用and和or实现逻辑的判断。如果where比较复杂的话,就会产生and 和 or的嵌套使用,写起来会很费力气,看起来就更是一头雾水了。  于是有人就想起了union,其实它是可以替代or的,反正就是把结果串联起来,貌似应该可以。而且,写起来更加容易,看起来也很清晰。但是不知道两个的性能如何呢?下面我就做一个比较,建立三张表,分别插入10万,100万和10... 阅读全文

【转载】利用SQL的charindex实现字符串数组和Split函数

2010-03-13 12:57 by Virus-BeautyCode, 3419 阅读, 收藏, 编辑
摘要:大家在T-SQL中使用substring的时候需要注意一点,T-SQL的第一个字符的下标是从1开始的,不像在C#中第一字符是从0开始的。原文地址:SQL字符串数组操作文章出处:DIY部落(http://www.diybl.com/course/7_databases/sql/sqlServer/2007106/76999.html)/*一、按指定符号分割字符串,返回分割后的元素个数,方法很简单,就... 阅读全文

MS SQL 技巧系列(一)连续三年获得优秀奖的人

2010-02-21 16:26 by Virus-BeautyCode, 2373 阅读, 收藏, 编辑
摘要:本系列将收藏或者是转载MS SQL的一些技巧,包括查询或者是数据库设计、优化等。    本文来源:求连续三年获得优秀奖的人    原理就是从最小的年份开始,将连续三年(使用最小年份加1和加2实现)的表进行inner join on 年份=年份+1 and 年份=年份+2 and 姓名相同,然后再最后join出来的表中就是连续三年的数据了  MSSQL如下代码 Code highlighting p... 阅读全文

分页存储过程(一)使用SQL Server2005的新函数构造分页存储过程

2009-10-20 23:17 by Virus-BeautyCode, 7709 阅读, 收藏, 编辑
摘要:使用SQL Server2005的新函数构造分页存储过程 分页存储过程一直是很多人经常用到的东西,怎么样才能设计一个既实用,又强大,还可以解决大数据量的分页存储过程呢?其实在很多时候设计的度还是要把握的,不至于让自己陷入【非要把它设计成万能的分页存储过程】的怪圈中才是最重要的,因为我们还要留出时间还解决其他的很多问题,个人认为适度就可以了,留出一定的空间。也因为万能是不存在的,万物在一定的范畴之内... 阅读全文

sql中的indexof,函数介绍

2008-09-10 18:25 by Virus-BeautyCode, 97540 阅读, 收藏, 编辑
摘要:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->取出文件名中的后缀名,例如:1.exe变成exedeclare @fileName varchar(100)set @fileName='aaa.exe'select substring(@fileNam... 阅读全文

sql,dateadd,datediff

2008-09-10 18:00 by Virus-BeautyCode, 3463 阅读, 收藏, 编辑
摘要:本文转载自MSDN,为了方便访问,谢谢!DATEADD (Transact-SQL)http://msdn.microsoft.com/zh-cn/library/ms186819.aspx将指定 number 时间间隔(有符号整数)与指定 date 的指定 datepart 相加后,返回该 date。 有关所有 Transact-SQL 日期和时间数据类型及函数的概述,请参阅日期和时间数据类型及... 阅读全文

[转载]如何用SQLDMO在ASP.NET页面下实现数据库的备份与恢复

2008-08-26 13:53 by Virus-BeautyCode, 600 阅读, 收藏, 编辑
摘要:本文转载自:http://www.cnblogs.com/terrylee/articles/253667.html原文作者:网名:TerryLee本名:李会军位置:中国 北京我们知道,用SQLDMO可以实现对数据库的备份与恢复,下面给出简单的实现方法。首先需要添加对SQLDMO引用1.实现数据库的备份: 1/**//// 2 /// 数据库备份 3 /// 4 ... 阅读全文

数据库sql方面的困惑,sql,mssql ,登录,验证,日志

2008-08-15 17:18 by Virus-BeautyCode, 1412 阅读, 收藏, 编辑
摘要:这个是一个讨论帖子,放到首页是想让更多的老鸟来参加讨论,没有别的意思,希望可以。谢谢大家最近的项目使用存储过程比较多,所以出现了很多的想法。比如说一个系统要求操作都要记录系统日志,记录相应的操作人,时间等等也就是说添加用户的同时要两步操作,第一步,添加用户信息表,第二步,添加系统日志表,这两个是用两个存储过程,然后在业务层调用两次呢,还是写在一个存储过程,一次调用让数据库都做了呢?个人认为应该让数... 阅读全文

sql,scope_identity,procedure,tran,substring,cast,convert,charindex,插入角色的同时插入角色拥有的权限,权限使用权限列表表示,列表用逗号分隔权限的id,更新角色信息,同时更新权限信息

2008-07-01 12:50 by Virus-BeautyCode, 412 阅读, 收藏, 编辑
摘要:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->/**//*插入角色的同时插入角色拥有的权限,权限使用权限列表表示,列表用逗号分隔权限的id*/create procedure AddRole@RoleName varchar(50),@Remark ... 阅读全文

CAST, and, CONVERT, (Transact-SQL)

2008-07-01 12:43 by Virus-BeautyCode, 302 阅读, 收藏, 编辑
摘要:http://msdn.microsoft.com/en-us/library/ms187928.aspxCAST and CONVERT (Transact-SQL) Updated: 17 July 2006 Explicitly converts an expression of one data type to another... 阅读全文

mssql,procedure,tran,transaction,事务,数据库事务,获取上一次的ID

2008-07-01 12:25 by Virus-BeautyCode, 600 阅读, 收藏, 编辑
摘要:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->create procedure AddUserInfo@LoginName varchar(50),@Password varchar(50),@Remark varchar(200),@RealNam... 阅读全文

mssql,charindex,substring,split,分割,函数

2008-07-01 11:56 by Virus-BeautyCode, 892 阅读, 收藏, 编辑
摘要:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> create function fsplit(@str varchar(8000)) returns @tb table(ch varchar(8000)) as ... 阅读全文

mssql case when then

2008-05-06 16:07 by Virus-BeautyCode, 2358 阅读, 收藏, 编辑
摘要:[转载]http://www.kingmx.com/article/14683CASE 可能是 SQL 中被误用最多的关键字之一。虽然你可能以前用过这个关键字来创建字段,但是它还具有更多用法。例如,你可以在 WHERE 子句中使用 CASE。 首先让我们看一下 CASE 的语法。在一般的 SELECT 中,其语法如下: 在上面的代码中需要用具体的参数代替尖括号中的内容。下面是一个简单的例子: 这是... 阅读全文

sql行转列

2008-04-02 13:14 by Virus-BeautyCode, 950 阅读, 收藏, 编辑
摘要:SQL codeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/[code=SQL]/*标题:普通行列转换(version 2.0)作者:爱新觉罗.毓华 时间:2008-03-09地点:广东深圳说明:普通行列转换(version 1.0)仅针对sql ser... 阅读全文

[转载]数据库数据库设计的5种常见关系

2008-03-25 17:23 by Virus-BeautyCode, 544 阅读, 收藏, 编辑
摘要:本文转载,原作者:superdullwolf数据库设计的5种常见关系,其中本文主要讲“多态”关系结构,以手机为例。 1,配置关系 --和其他表无任何关系的表。 例如:webConfig里的东西你存储到表里。 2,一对多关系 ,一张表包含另外一个表的主键作为外键。 例如:手机.品牌id=2, 这里的2是[品牌名称表]的id字段为2的纪录,品牌名称是"Nokia"。一个手机只能有... 阅读全文

【转载】SQL查询中区分大小写的方法

2008-02-20 11:46 by Virus-BeautyCode, 851 阅读, 收藏, 编辑
摘要:方法一.安装SQL时选择区分大小写 或安装完以后重建mastar,选择区分大小 C:\Program Files\Microsoft SQL Server\80\Tools\Binn\rebuildm.exe 方法二. alter database 数据库 COLLATE Chinese_PRC_CS_AS 修改排序规则,... 阅读全文

SQL“多字段模糊匹配关键字查询”[转载]

2008-01-25 11:51 by Virus-BeautyCode, 4205 阅读, 收藏, 编辑
摘要:转载地址:http://www.newasp.net/tech/data/24332.html 我们开发MYSQL数据库应用时,常常需要用到模糊查询。如果同一个条件需要匹配很多字段怎么办呢?通常,程序员会每个字段都在SQL中“field like'%cond%'”一次。这样,SQL语句会长得惊人,碰上复杂一点的,甚至SQL语句会因为超长而被数据库拒绝执行。其实,这个问题只要动动脑筋就很容易解决:... 阅读全文

[转载]分页存储过程

2008-01-23 09:50 by Virus-BeautyCode, 350 阅读, 收藏, 编辑
摘要:CREATE procedure main_table_pwqzc(@pagesize int,@pageindex int,@docount bit,@this_id)asif(@docount=1)beginselect count(id) from luntan where this_id=@this_idendelsebegindeclare @indextable table(id in... 阅读全文

[原创]存储过程,insert,case when then,处理性别问题

2007-08-14 10:58 by Virus-BeautyCode, 895 阅读, 收藏, 编辑
摘要:ALTER PROCEDURE dbo.StoredProcedure1 /*(@parameter1 int = 5,@parameter2 datatype OUTPUT)*//*@stuNum nchar(10),*/@stuNum nchar(10),@stuName nchar(10),@stuPassWord nchar(10),@stuSex char(10),@stuClassNu... 阅读全文