
SQL server
hhucxyb
这个作者很懒,什么都没留下…
展开
-
SQL in和exists的用法区别
in 是把外表和内表作hash 连接,而exists是对外表作loop循环,每次loop循环再对内表进行查询。一直以来认为exists比in效率高的说法是不准确的。如果查询的两个表大小相当,那么用in和exists差别不大。如果两个表中一个较小,一个是大表,则子查询表大的用exists,子查询表小的用in:例如:表A(小表),表B(大表)1:select * from A where cc in (select cc from B)效率低,用到了A表上cc列的索引;select * from A where转载 2010-07-01 10:28:00 · 438 阅读 · 0 评论 -
SQLserver生成随机数
--生成1-100的随机数SELECT cast(rand() * (100) AS int) + 1原创 2010-07-09 01:56:00 · 684 阅读 · 0 评论 -
检查数据库是否存在某对象(SQLserver)
OBJECTPROPERTY : 返回当前数据库中对象的有关信息语法 : OBJECTPROPERTY ( id , property ) 例如:OBJECTPROPERTY (object_id(N'authors') , N'ISTABLE') = 1或select * from dbo.sysobjects where Object_Id(N'myTable') AND OBJECTPROPERTY(id, N'IsTable') = 1OBJECT_ID:返回数据库对象标识号。N是显式的将非un转载 2010-08-23 10:41:00 · 604 阅读 · 0 评论 -
查询数据库各表大小
exec sp_MSForEachTable@precommand = N' create table ##(表名 sysname,记录数 int,保留空间 Nvarchar(10),使用空间 varchar(10),索引使用空间 varchar(10),未用空间 varchar(10)) ' ,@command1 = N' insert ## exec sp_spaceused ''?''' ,@postcommand = N' select * from ## order by len(使用空间) d转载 2010-08-25 11:14:00 · 428 阅读 · 0 评论 -
SQL SERVER 自动备份并且自动删除过期备份
use master--获取完整备份文件名(每周日做完整备份,其它时间每天做差异备份)declare @filename nvarchar(100)set @filename=N'D:\数据库备份\TestDB'+convert(char(8),DATEADD(wk, DATEDIFF(wk,0,getdate()), -1),112)+'.bak'print @filename原创 2011-10-24 23:43:32 · 375 阅读 · 0 评论