目录
1. case when then 的用法,示例:
2.数据库查询优化(索引、统计信息)
- 创建索引
--创建索引eg1:
CREATE NONCLUSTERED INDEX 索引名称 ON 表名
(
UserID ASC,--字段
ID ASC,--字段
EventTime ASC--字段
)
--创建索引(判断索引是否存在,如果存在先删除再创建)eg2:
IF EXISTS (SELECT 1 FROM sys.indexes WHERE object_id=OBJECT_ID('表名', N'U') and NAME='索引名')
BEGIN
DROP INDEX 索引名 ON 表名;--删除索引
END
create nonclustered index 索引名 on 表名(字段名,字段名)--创建索引
-
查询表中索引
execute sp_helpindex @objname='表名'
-
删除索引
DROP INDEX 索引名 ON 表名
-
创建统计信息
CREATE STATISTICS 统计信息名 ON 表名(字段名, 字段名)
go
-
查询表中统计信息
select
o.name,--表名
s.name,--统计信息的名称
auto_created,--统计信息是否由查询处理器自动创建
user_created--统计信息是否由用户显示创建
from
sys.stats s
inner join
sysobjects o
on
s.object_id=o.id
where
o.name='表名'
go
-
删除表中统计信息
drop statistics 表名.统计信息名称
3.清除数据库全部缓存
DBCC DROPCLEANBUFFERS
4.SQL Server 查询连接用户
Select * from sys.dm_exec_connections
5.数据库备份语句
DECLARE @BackupPath NVARCHAR(500);
DECLARE @DateSuffix VARCHAR(20);
SET @DateSuffix = REPLACE(REPLACE(REPLACE(CONVERT(VARCHAR(20), GETDATE(), 120), '-', ''), ':', ''), ' ', '');
SET @BackupPath = N'D:\DATAS\DBName_' + @DateSuffix + '.bak';
BACKUP DATABASE [DBName] TO DISK = @BackupPath WITH INIT, COMPRESSION;