--------------------------------- 索引 --------------------------------- 语法:CREATE [索引类型] INDEX 索引名称ON 表名(列名)WITH FILLFACTOR = 填充因子值0~100GO/*实例*/ CREATE NONCLUSTERED INDEX Index_NotePage_ShareState --创建一个非聚集索引ON NDB.dbo.NotePage(ShareState) --为TEST表的TNAME字段创建索引WITH FILLFACTOR = 30 --填充因子为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= 30GO 查询测试/*-----指定按索引IX_writtenExam 查询----*/declare @startTime datetimeSET @startTime = GETDATE();SELECT sum(ID) FROM testtable with (INDEX=IX_writtenExam)declare @endtime datetimeSET @endtime = GETDATE();print datediff(ms,@startTime,@endtime)SELECT sum(ID) FROM testtable --------------------------------- 添加数据--------------------------------- SET IDENTITY_INSERT TestTable ONdeclare @i intset @i=1while @i<=400000begin insert into TestTable([id], FirstName, LastName, Country,Note) values(@i, 'FirstName_XXX','LastName_XXX','Country_XXX','Note_XXX') set @i=@i+1endSET IDENTITY_INSERT TestTable OFF
--------------------------------- 快速查看执行速度--------------------------------- select语句前加:declare @d datetimeset @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条件来检索数据后,就会多出一条记录。 【正在查询中的数据表,又被其它实务加了一行】