随笔分类 -  SQL SERVER

只有注册用户登录后才能阅读该文。
posted @ 2011-06-03 15:17 俗雅冰山 阅读(68) 评论(0) 推荐(0)
摘要:对于select count(*) , 倘若表中有多个索引,则SQL Server的处理与通常的查询语句不同.在统计刻录总数时,聚集索引向来得不到数据库引擎的宠幸,除非WHERE子句中包含聚集索引所在的字段. WHY? 我们知道,大量的磁盘I/O是非常耗时的. 扫描任何一个索引都可以计算出刻录的总数,计算方式也是大致相同的,但非聚集索引的叶子层仅包含索引而没有每条记录的具体数据,通常比聚集索引占用的页面要少的多,从而大大减少了磁盘I/O ,缩短了计算时间.如果索引所在的字段包含在WHERE子句中,则仅需扫描部分叶子节点就能计算出总数,所需时间会更短. 由上而知若要优化select count. 阅读全文
posted @ 2011-06-01 16:15 俗雅冰山 阅读(1954) 评论(0) 推荐(0)
摘要:执行下面SQL 会收到如题的错误.这是为什么呢? 注意红色部分,它属于子查询,再关注出错信息.问题出在order by......select location from(Select *From LOCATION Where WAREHOUSE = N'W3_SHANGHAI'And PUT_ZONE = N'AA'And LOCATION_TYPE = N'STO'Order By LOCATION Asc)as t1 wherenot exists(select 1 from inventory where(qty>0 or qty_ 阅读全文
posted @ 2011-06-01 16:15 俗雅冰山 阅读(510) 评论(0) 推荐(0)
摘要:1,ADO方式下判断数据表是否存在面构造两个可重载的函数,用于在ADO方式下判断数据库的数据表是否存在。函数一:// ------------------------------------------------------------------------------////------------------------------------------------------------------------------Function TableExist( pAdoCmd: TADOCOMMAND; pcTable : string ) : boolean ; overloa 阅读全文
posted @ 2011-06-01 15:42 俗雅冰山 阅读(339) 评论(0) 推荐(0)
摘要:decimal(a,b)a指定指定小数点左边和右边可以存储的十进制数字的最大个数,最大精度38。b指定小数点右边可以存储的十进制数字的最大个数。小数位数必须是从 0 到 a之间的值。默认小数位数是 0。 阅读全文
posted @ 2011-06-01 15:41 俗雅冰山 阅读(939) 评论(0) 推荐(0)
摘要:SQL中Case的使用方法(上篇) Case具有两种格式。简单Case函数和Case搜索函数。--简单Case函数CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数CASE WHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END 这两种方式,可以实现相同的功能。简单Case函数的写法 阅读全文
posted @ 2011-06-01 15:39 俗雅冰山 阅读(433) 评论(0) 推荐(0)
摘要:1. 为何使用游标: 使用游标(cursor)的一个主要的原因就是把集合操作转换成单个记录处理方式。用SQL语言从数据库中检索数据后,结果放在内存的一块区域中,且结果往往是个含有多个记录的集合。游标机制允许用户在SQL server内逐行地访问这些记录,按照用户自己的意愿来显示和处理这些记录。2. 如何使用游标: 一般地,使用游标都遵循下列的常规步骤: (1) 声明游标。把游标和T-SQL语句的结果集联系起来。 (2) 打开游标。 (3) 使用游标操作数据。 (4) 关闭游标。2.1. 声明游标DECLARE CURSOR语句SQL-92标准语法格式: DECLARE 游标名 [ INSENS 阅读全文
posted @ 2011-06-01 15:38 俗雅冰山 阅读(392) 评论(0) 推荐(0)
摘要:重复的数据可能有这样两种情况,第一种时表中只有某些字段一样,第二种是两行记录完全一样。一、对于部分字段重复数据的删除 先来谈谈如何查询重复的数据吧。 下面语句可以查询出那些数据是重复的: select 字段1,字段2,count(*) from 表名 group by 字段1,字段2 having count(*) > 1 将上面的>号改为=号就可以查询出没有重复的数据了。 想要删除这些重复的数据,可以使用下面语句进行删除 delete from 表名 a where 字段1,字段2 in (select 字段1,字段2,count(*) from 表名 group by 字段1, 阅读全文
posted @ 2011-06-01 15:35 俗雅冰山 阅读(346) 评论(0) 推荐(0)
摘要: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 来连接条件,否则将导 阅读全文
posted @ 2011-06-01 15:34 俗雅冰山 阅读(411) 评论(0) 推荐(0)
摘要:use mastergoalter database FDAYSRealShop set recovery simple with no_waitgoalter database FDAYSRealShop set recovery simple gouse FDAYSRealShopgoDBCC SHRINKFILE (N'FDAYSRealShop_Log' , 1, TRUNCATEONLY) goUSE mastergoalter database FDAYSRealShop set recovery simple with no_waitgoalter databas 阅读全文
posted @ 2011-06-01 15:31 俗雅冰山 阅读(227) 评论(0) 推荐(0)
摘要:Insert是T-sql中常用语句,Insert INTO table(field1,field2,...) values(value1,value2,...)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECT INTO 和 INSERT INTO SELECT 表复制语句了。 1.INSERT INTO SELECT语句语句形式为:Insert into Table2(field1,field2,...) select v 阅读全文
posted @ 2011-06-01 15:29 俗雅冰山 阅读(319) 评论(1) 推荐(0)
摘要:非常简单利用T-SQL完成你所要做的就是控制流程保存变量分析字符串这种方式感觉实现起来也不错,我是使用这种方式来完成数据库备份还原的功能的。 需要指出下面这些存储过程是在上学吧网上搜索到的。谢谢代码的提供者。在此转载 利用T-SQL语句,实现数据库的备份与还原的功能 体现了SQL Server中的四个知识点: 1.获取SQL Server服务器上的默认目录 2.备份SQL语句的使用 3.恢复SQL语句的使用,同时考虑了强制恢复时关闭其他用户进程的处理 4.作业创建SQL语句的使用 /*1.--得到数据库的文件目录 @dbname 指定要取得目录的数据库名 如果指定的数据不存在,返回安装SQL时 阅读全文
posted @ 2011-06-01 14:57 俗雅冰山 阅读(397) 评论(0) 推荐(0)
摘要:1.为什么要使用表变量表变量是从2000开始引入的,微软认为与本地临时表相比,表变量具有如下优点: a.与其他变量的定义一样,表变量具有良好的定义范围,并会被自动清除; b.在存储过程中使用表变量会减少存储过程重新编译的发生; c.表变量需要更少的锁请求和日志资源; d.可以在表变量上使用UDF,UDDT,XML。2.表变量的限制与临时表相比,表变量存在着如下缺点: a.在表变量上没有统计信息,查询优化器根据固定的预估值来选择执行计划,在数据很多的情况下,会导致查询优化器选择很差的执行计划; b.不能直接在表变量上创建索引,但可以通过创建约束(主键、唯一)来建立索引; c.在DECLARE后, 阅读全文
posted @ 2011-06-01 14:04 俗雅冰山 阅读(406) 评论(0) 推荐(0)
只有注册用户登录后才能阅读该文。
posted @ 2011-06-01 11:45 俗雅冰山 阅读(13) 评论(0) 推荐(0)