小编Rac*_*erX的帖子

在覆盖索引中包含主键是好还是无关紧要?

是被gooddoesn't matterbad以包括覆盖索引的主键?

CREATE NONCLUSTERED INDEX index_name_here ON dbo.table_name_here
(column_to_index_here) 
INCLUDE (primary_key_column,other_column_here)
WITH( STATISTICS_NORECOMPUTE=OFF, IGNORE_DUP_KEY=OFF, --<default junk from SSMS
ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
Run Code Online (Sandbox Code Playgroud)

我认为这没关系,因为PK无论如何都会在索引中.

编辑 - 澄清.
primary_key_column是聚集的,但你可以解释/提供信息,当它不是.

我将加入dbo.table_name_herecolumn_to_index_here专栏,然后将加入其他表格primary_key_columnother_column_here.

t-sql sql-server

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

如何判断是否使用过索引

我有一些旧表,我认为,几乎是毫无价值的索引.我怎样才能轻易确定在丢弃它之前从未使用过.

sql-server sql-server-2005

15
推荐指数
2
解决办法
8895
查看次数

SET IDENTITY_INSERT xyz ON的范围是什么?

范围是SET IDENTITY_INSERT xyz ON什么?

如果我在某个表的一个存储过程中使用它,如果运行不同过程的其他用户同时插入该特定表,会发生什么?

另外,如果不同的用户/程序试图同时SET IDENTITY_INSERT xyz ON 为不同的表设置会发生什么?

t-sql sql-server sql-server-2005

14
推荐指数
1
解决办法
5545
查看次数

错误:有未提交的事务

我在SSMS中打开一个新窗口并运行:

SET ANSI_DEFAULTS ON 
GO

CREATE PROCEDURE [dbo].[zzz_test2]
(
    @a    int
)
AS
    SET NOCOUNT ON
    SET @a=1
    RETURN 0
GO
Run Code Online (Sandbox Code Playgroud)

然后关闭窗口,这会产生此警告:

There are uncommitted transactions. Do you wish to commit these before closing the window?

到底是怎么回事??

当我打开一个新的SSMS窗口并运行它:

SET ANSI_NULLS  ON  
GO    

CREATE PROCEDURE [dbo].[zzz_test2]
(
    @a    int
)
AS
    SET NOCOUNT ON
    SET @a=1
    RETURN 0
GO
Run Code Online (Sandbox Code Playgroud)

并关闭窗口,我没有得到任何警告.

t-sql sql-server sql-server-2005

5
推荐指数
1
解决办法
7401
查看次数

SQL Server存储过程SET选项

在创建存储过程之前要发出的最佳SET选项是什么?

例如

SET QUOTED_IDENTIFIER  OFF
SET ANSI_NULLS  ON 

CREATE PROCEDURE HelloWorld
AS
    --also, should any be issued within the procedure body?
    PRINT 'hello world!'
    RETURN 0
GO
Run Code Online (Sandbox Code Playgroud)

最好的,我的意思是最喜欢的设置.

t-sql sql-server sql-server-2005 sql-server-2008

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