随笔分类 - sql server
摘要:SQL Server 的企业版和标准版的License价格差5倍之多,在企业应用中,DBA 经常会被这个问题问住,本帖将日常工作实践中遇到到版本问题给出第一手资料,陆续补充……SQL 2008 镜像数据库:企业版和标准版都支持镜像数据库,不同的是,企业版可以设置成高性能(异步)模式,标准版只能是高安全(同步)模式。SQL 2008 压缩备份:企业版可以压缩备份,标准版不支持压缩备份,但是可以恢复压缩后的备份文件。--------------------------------------------------------------------------版本企业版标准版CPU数量84可用最
阅读全文
摘要:Student(S#,Sname,Sage,Ssex) 学生表 Course(C#,Cname,T#) 课程表 SC(S#,C#,score) 成绩表 Teacher(T#,Tname) 教师表 问题: 1、查询“001”课程比“002”课程成绩高的所有学生的学号; select a.S# from (select s#,score from SC where C#='001') a,(select s#,score from SC where C#='002') b where a.score>b.score and a.s#=b.s#; 2、查询平均成
阅读全文
摘要:比较ORACLE与MSSQL。SERVER主要区别与各自优势。具体使用有什么不同之处?开放性:SQL Server 只能在windows 上运行,没有丝毫的开放性,操作系统的系统的稳定对数据库是十分重要的。Windows9X系列产品是偏重于桌面应用,NT server只适合中小型企业。而且windows平台的可靠性,安全性和伸缩性是非常有限的。它不象unix那样久经考验,尤其是在处理大数据量的关键 业务时.Oracle 能在所有主流平台上运行(包括 windows)。完全支持所有的工业标准。采用完全开放策略。可以使客户选择最适合的解决方案。对开发商全力支持。DB2 能在所有主流平台上运行(包括
阅读全文
摘要:换了工作单位,离住的地方有点远,13公里的样子,每天要挤公交车啊~有时候挤不上去有时候贴在公交的门上,非常可怜的一直站到终点站再导车。每天都有些老头老太太上车,挤不上还不干,上来自然要有人给它们让座啊,它们有老年证。。。。啥叫早高峰???早上从7点到9这是属于早高峰啊,这些老太太老大爷上来干啥?我是观察了很久了:有的是去钓鱼,有的是去公园玩、溜湾,有些是去超市门口排队买便宜鸡蛋的。。。。。。。还有很多,很多原因。有些人有估计要吐血了,咱小老百姓上个班容易吗?这些老东西偏在要这个早高峰来挤。不给让座显得没有传统美德,如果让座打心里觉得不值。就不能避开早高峰吗?送一个字:贱!
阅读全文
摘要:函数参数/功能GetDate( )返回系统目前的日期与时间DateDiff (interval,date1,date2)以interval 指定的方式,返回date2 与date1两个日期之间的差值 date2-date1DateAdd (interval,number,date)以interval指定的方式,加上number之后的日期DatePart (interval,date)返回日期date中,interval指定部分所对应的整数值DateName (interval,date)返回日期date中,interval指定部分所对应的字符串名称参数 interval的设定值如下:值缩 写(
阅读全文
摘要:declare @time intselect @time = 20090701select @time = substring(cast(dateadd(Day,-1,convert(varchar,@time,112)) as varchar(20)),7,4) + substring(cast(dateadd(Day,-1,convert(varchar,@time,112)) as varchar(20)),1,2) + substring(cast(dateadd(Day,-1,convert(varchar,@time,112)) as varchar(20)),4,2)print
阅读全文
摘要:转:http://hi.baidu.com/wcaowxd/blog/item/68b8222eb817d3e38b139922.html如果你的数据库中某一个表中的数据满足以下几个条件,那么你就要考虑创建分区表了。 1、数据库中某个表中的数据很多。很多是什么概念?一万条?两万条?还是十万条、一百万条?这个,我觉得是仁者见仁、智者见智的问题。当然数据表中的数据多到查询时明显感觉到数据很慢了,那么,你就可以考虑使用分区表了。如果非要我说一个数值的话,我认为是100万条。 2、但是,数据多了并不是创建分区表的惟一条件,哪怕你有一千万条记录,但是这一千万条记录都是常用的记录,那么最好也不要使用分区表
阅读全文
摘要:sql 2005分区表[转] SQL Server 表分区(partitioned table/Data Partitioning) Partitioned Table 可伸缩性性是数据库管理系统的一个很重要的方面,在SQL Server 2005中可伸缩性方面提供了表分区功能。 其实对于有关系弄数据库产品来说,对表、数据库和服务器进行数据分区的从而提供大数据量的支持并不是什么新鲜事,但 SQL Server 2005 提供了一个新的体系结构功能,用于对数据库中的文件组进行表分区。水平分区可根据分区架构,将一个表划分为几个较小的分组。表分区功能是针对超大型数据库(从数百吉字节到数千吉字节...
阅读全文
摘要:ALTER PROCEDURE [dbo].[P_DeleteRepeatRecord]@siteName varchar(50),@goodsId varchar(20)ASBEGINdeclare @SelectSql varchar(MAX),@tableName varchar(50)set @tableName='goods_price_history_'+@siteNameset @SelectSql='declare my_cursor cursor scroll for select id,goods_price,createDate from '
阅读全文
摘要:ALTER PROCEDURE [dbo].[P_ComparePrice]@siteName varchar(50),@goodsId varchar(max)ASBEGIN DECLARE @splitChar CHAR(1) DECLARE @IDS VARCHAR(20) SET @splitChar = ',' WHILE(charindex(@SplitChar,@goodsId)<>0)----当分隔符的索引不等于0时 BEGIN SET @IDS=SUBSTRING(@goodsId,1,charindex(@splitChar,@goodsId)-
阅读全文
摘要:createPROCEDURE [dbo].[GetGoodsIDList]@siteID int,@pageSize int,@pageIndex intASBEGINSELECT ID FROM (SELECT ROW_NUMBER() OVER(ORDER BY ID asc) AS NUM,ID FROM goods_products where siteid=@siteID) TBWHERE NUM>=@pageSize*(@pageIndex-1) AND NUM<= @pageSize*@pageIndexEND
阅读全文
摘要:下列语句部分是Mssql语句,不可以在access中使用。SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句:1、说明:创建数据库CREATE DATABASE database-name 2、说明:删除数据库drop database dbname 3、说明:备份sql server--- 创建 备份数据的 deviceUSE masterEXEC sp_addumpde
阅读全文
摘要:exec [GetListById] '1,2,3,4,5', ','USE [Lib]GO/****** Object: StoredProcedure [dbo].[GetListById] Script Date: 12/26/2011 15:02:24 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- =============================================-- Author:-- Create date: <Create Date,,>-- Des
阅读全文
摘要:1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列没有null值,然后这样查询:select id from t where num=03.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。4.应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎
阅读全文
摘要:朕自己着磨出来的在SQL中删复复数据的SQLdelete from mytable where id in( select max(id) from ( select * from mytable where goods_id in (select goods_id from mytable where CONVERT(varchar(10),createDate,111)='2011/12/17' group by goods_id having COUNT(goods_id)>1 ) and CONVERT(varchar(10),createDate,111)=
阅读全文
摘要:什么要创建索引呢?这是因为,创建索引可以大大提高系统的性能。 第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因。第三,可以加速表 和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。第四,在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。第 五,通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。 也许会有人要问:增加索引有如此多的优点,为什么不 对表中的每一个列创建一个索引呢?这种想法固然有其合理性,然而也有其片面性。虽然,索引有许多优点,但是,为表中的每一个列都增.
阅读全文
摘要:方法一 分割例:通过SQL Server存储过程传送数组参数删除多条记录 eg. ID 值为'1,2,3' 以下存储过程就是删除表中id号为1,2,3的记录:CREATE PROCEDURE DeleteNews @ID nvarchar(500) as DECLARE @PointerPrev int DECLARE @PointerCurr int DECLARE @TId int Set @PointerPrev=1 while (@PointerPrev < LEN(@ID)) Begin Set @PointerCurr=CharIndex(','
阅读全文
摘要:1. 定义游标定义游标语句的核心是定义了一个游标标识名,并把游标标识名和一个查询语句关联起来。DECLARE语句用于声明游标,它通过SELECT查询定义游标存储的数据集合。语句格式为:DECLARE 游标名称 [INSENSITIVE] [SCROLL]CURSOR FOR select语句[FOR{READ ONLY|UPDATE[OF 列名字表]}]参数说明:INSENSITIVE选项:说明所定义的游标使用SELECT语句查询结果的拷贝,对游标的操作都基于该拷贝进行。因此,这期间对游标基本表的数据修改不能反映到游标中。这种游标也不允许通过它修改基本表的数据。SCROLL选项:指定该游标可用
阅读全文
摘要:1.取出表A中第31到第40记录a.select top 10 from a where id not in(selecttop 30from a)b.select top 10 from a where id>(select max(id) from (select top 30 from a))C.select * from(select *,ROW_NUMBER() over(order by id desc)as newId from goods_products) twhere t.newid>30 and t.newid<40
阅读全文
摘要:查询速度慢的原因很多,常见如下几种 1、没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺陷) 2、I/O吞吐量小,形成了瓶颈效应。 3、没有创建计算列导致查询不优化。 4、内存不足 5、网络速度慢 6、查询出的数据量过大(可以采用多次查询,其他的方法降低数据量) 7、锁或者死锁(这也是查询慢最常见的问题,是程序设计的缺陷) 8、sp_lock,sp_who,活动的用户查看,原因是读写竞争资源。 9、返回了不必要的行和列 10、查询语句不好,没有优化 可以通过如下方法来优化查询 1、把数据、日志、索引放到不同的I/O设备上,增加读取速度,以前可以将Temp...
阅读全文

浙公网安备 33010602011771号