小编Sei*_*bar的帖子

表扫描和聚簇索引扫描之间有什么区别?

由于a Table Scan和a Clustered Index Scan本质上都扫描了表中的所有记录,为什么Clustered Index Scan应该更好?

举个例子 - 当有很多记录时,下列内容之间的性能差异是什么?:

declare @temp table(
    SomeColumn varchar(50)
)

insert into @temp
select 'SomeVal'

select * from @temp

-----------------------------

declare @temp table(
    RowID int not null identity(1,1) primary key,
    SomeColumn varchar(50)
)

insert into @temp
select 'SomeVal'

select * from @temp
Run Code Online (Sandbox Code Playgroud)

sql sql-server indexing

69
推荐指数
2
解决办法
4万
查看次数

62
推荐指数
4
解决办法
6万
查看次数

@@ IDENTITY,SCOPE_IDENTITY(),OUTPUT和其他检索最后一个身份的方法

我已经看到在插入后检索主键标识字段的值时使用的各种方法.

declare @t table (
    id int identity primary key,
    somecol datetime default getdate()
)
insert into @t
default values

select SCOPE_IDENTITY() --returns 1
select @@IDENTITY --returns 1
Run Code Online (Sandbox Code Playgroud)

在插入后返回标识表:

Create Table #Testing (  
    id int identity,  
    somedate datetime default getdate()  
)  
insert into #Testing  
output inserted.*  
default values   
Run Code Online (Sandbox Code Playgroud)

什么方法适当或更好?OUTPUT方法是否范围安全?

第二个代码片段是从Wild中的SQL借来

sql t-sql sql-server identity output-clause

59
推荐指数
5
解决办法
9万
查看次数

T-SQL:如何创建区分大小写的唯一键?

如何在varchar区分大小写的字段(SQL Server 2005)上创建唯一约束?

目前我的约束如下:

alter table MyTable
add constraint UK_MyTable_MyUniqueKey unique nonclustered (MyCol)
Run Code Online (Sandbox Code Playgroud)

当我尝试插入以下两个值时,出现"违反UNIQUE KEY约束..."错误.

insert into MyTable (MyCol) values ('ABC')
insert into MyTable (MyCol) values ('abc') --causes a violation of UNIQUE KEY constraint 'UK_MyTable_MyUnqiueKey'
Run Code Online (Sandbox Code Playgroud)

我希望将两个不同用途的值作为unqiue处理.我想它将涉及以下代码,但我不知道它如何改变我的add constraint语法.

COLLATE SQL_Latin1_General_CP1_CS_AS
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server constraints

37
推荐指数
1
解决办法
3万
查看次数

有没有办法只为特定的执行范围禁用SQL Server触发器?

在SQL Server 2005中,有没有办法让触发器找出哪个对象负责触发触发器?我想用它来禁用一个存储的prodecure的触发器.

有没有其他方法只为当前事务禁用触发器?我可以使用以下代码,但如果我没有弄错,它也会影响并发事务 - 这将是一件坏事.

DISABLE TRIGGER { [ schema_name . ] trigger_name [ ,...n ] | ALL } ON { object_name | DATABASE | ALL SERVER } [ ; ]

ENABLE TRIGGER { [ schema_name . ] trigger_name [ ,...n ] | ALL } ON { object_name | DATABASE | ALL SERVER } [ ; ]
Run Code Online (Sandbox Code Playgroud)

如果可能的话,我想避免在我的表中使用"NoTrigger"字段并执行a的技术NoTrigger = null,因为我希望保持表尽可能小.

我想避免触发器的原因是因为它包含对表的手动更新很重要的逻辑,但我的存储过程将处理这个逻辑.因为这将是一个高度使用的程序,我希望它快.

触发器会在服务器上产生额外的开销,因为它们会启动隐式事务.一旦执行了触发器,就会启动一个新的隐式事务,并且事务中的任何数据检索都将保留受影响表的锁定.

来自:http://searchsqlserver.techtarget.com/tip/1,289483,sid87_gci1170220,00.html#trigger

t-sql sql-server triggers

36
推荐指数
2
解决办法
4万
查看次数

Visual Studio错误:"GenerateResource"任务意外失败...文件存在

我正在尝试使用许多项目构建解决方案,并且我收到了Windows服务项目的此错误:

The "GenerateResource" task failed unexpectedly.
System.Runtime.InteropServices.COMException (0x80070050): The file exists. (Exception from HRESULT: 0x80070050)
   at Microsoft.Build.Shared.NativeMethodsShared.InprocTracking.WriteContextTLogs(String intermediateDirectory, String tlogRootName)
   at Microsoft.Build.Utilities.FileTracker.WriteContextTLogs(String intermediateDirectory, String taskName)
   at Microsoft.Build.Tasks.GenerateResource.Execute()
   at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
   at Microsoft.Build.BackEnd.TaskBuilder.ExecuteInstantiatedTask(ITaskExecutionHost taskExecutionHost, TaskLoggingContext taskLoggingContext, TaskHost taskHost, ItemBucket bucket, TaskExecutionMode howToExecuteTask, Boolean& taskResult)   ImportProcessorWindowsService
Run Code Online (Sandbox Code Playgroud)

正如另一个类似的问题所示,我尝试删除我的.suo文件,但这没有帮助.

我最近能够构建这个解决方案.我该如何解决?

visual-studio

33
推荐指数
1
解决办法
4万
查看次数

我如何使用T-SQL Group By

我知道我需要(虽然我不知道为什么),一个GROUP BY在任何使用聚合函数类似SQL查询的结尾条款count,sum,avg,等:

SELECT count(userID), userName
FROM users
GROUP BY userName
Run Code Online (Sandbox Code Playgroud)

什么时候GROUP BY会有用,什么是性能分支?

sql sql-server group-by

31
推荐指数
2
解决办法
5万
查看次数

SQL Server - 列顺序是否重要?

在性能和优化方面:

  • 在SQL Server中构建表时,将列放入的顺序是否重要?
  • 我的主键是第一列是否重要?
  • 在构建多字段索引时,列是否相邻是否重要?
  • 使用ALTER TABLE语法,是否可以指定我想要添加列的位置?
    • 如果没有,我如何将列移动到差异位置?

sql-server optimization performance

24
推荐指数
2
解决办法
7450
查看次数

ASP/VBScript - Int()vs CInt()

是什么之间的ASP/VBScript中的差异Int()CInt()

vbscript asp-classic

21
推荐指数
3
解决办法
5万
查看次数

签入时Visual Studio/TFS错误:参数不正确

我正在尝试从Visual Studio(2010)进行TFS(2010)签到.我收到以下非常具有描述性和信息性的错误消息:

Visual Studio

The parameter is incorrect
Run Code Online (Sandbox Code Playgroud)

参数不正确

有谁知道如何解决这一问题?

visual-studio tfs2010

21
推荐指数
1
解决办法
4671
查看次数