--------------------------------- 索引 --------------------------------- 语法:
CREATE [索引类型] INDEX 索引名称
ON 表名(列名)
WITH FILLFACTOR = 填充因子值0~
GO /*实例*/ CREATE NONCLUSTERED INDEX Index_NotePage_ShareState --创建一个非聚集索引
ON NDB.dbo.NotePage(ShareState) --为TEST表的TNAME字段创建索引
WITH FILLFACTOR = --填充因子为30%
GO 添加索引
IF EXISTS (SELECT name FROM sysindexes
WHERE name = 'IX_writtenExam')
DROP INDEX testtable.IX_writtenExam
/*--笔试列创建非聚集索引:填充因子为%--*/
CREATE NONCLUSTERED INDEX IX_writtenExam
ON testtable(id)
WITH FILLFACTOR=
GO 查询测试
/*-----指定按索引IX_writtenExam 查询----*/
declare @startTime datetime
SET @startTime = GETDATE();
SELECT sum(ID) FROM testtable with (INDEX=IX_writtenExam)
declare @endtime datetime
SET @endtime = GETDATE();
print datediff(ms,@startTime,@endtime) SELECT sum(ID) FROM testtable --------------------------------- 添加数据---------------------------------
SET IDENTITY_INSERT TestTable ON
declare @i int
set @i=
while @i<=
begin
insert into TestTable([id], FirstName, LastName, Country,Note) values(@i, 'FirstName_XXX','LastName_XXX','Country_XXX','Note_XXX')
set @i=@i+
end
SET IDENTITY_INSERT TestTable OFF
--------------------------------- 快速查看执行速度--------------------------------- select语句前加: declare @d datetime
set @d=getdate()
并在select语句后加:
select [语句执行花费时间(毫秒)]=datediff(ms,@d,getdate())
INSERT INTO userinfo (pwd, name) VALUES (@pwd, @name) SELECT @@IDENTITY AS Id
AS后名字是任取的IDENTITY是主键的意思,所以一定要有主键才可返回
◆脏读:一个事务会读进还没有被另一个事务提交的数据,所以你会看到一些最后被另一个事务回滚掉的数据。
【正在修改中的数据被读取】 ◆ 读值不可复现:一个事务读进一条记录,另一个事务更改了这条记录并提交完毕,这时候第一个事务再次读这条记录时,它已经改变了。
【正在查询中的数据被修改】
◆ 幻影读:一个事务用Where子句来检索一个表的数据,另一个事务插入一条新的记录,并且符合Where条件,这样,第一个事务用同一个where条件来检索数据后,就会多出一条记录。
【正在查询中的数据表,又被其它实务加了一行】