作为关键索引的对象是什么?
在此示例中:它具有下表:
CREATE TABLE [dbo].[DM_OBJECT_FILE] (
[FILE_ID] [int] NOT NULL,
[FILE_FIN] [int] NOT NULL,
[FILE_TITLE] [Varchar] (255) ,
[OBJ_ID] [int] NOT NULL ,
[FILE_ATT] [smallint] NOT NULL,
[FILE_PATH] [Varchar] (500) NULL,
[FILE_EXT] [Varchar](50) NULL,
[FILE_TXT] [varbinary] (max) NULL,
[FILE_KEYWORDS] [Varchar] (1000) NULL,
[FILE_STATUS] [smallint] NULL,
[FILE_TXT_SIZE] [Int] default 0,
[OBJ_FILE_IDX_DOCTYPE] [Varchar] (3) Null,
CONSTRAINT [PK_DM_OBJECT_FILE] PRIMARY KEY CLUSTERED ([FILE_ID])
)
然后它创建了索引:
CREATE FULLTEXT INDEX ON dbo.DM_OBJECT_FILE (
FILE_TXT TYPE COLUMN OBJ_FILE_IDX_DOCTYPE LANGUAGE 0
) KEY INDEX PK_DM_OBJECT_FILE
WITH
CHANGE_TRACKING = AUTO,
STOPLIST=OFF
;
这个例子中的
PK_DM_OBJECT_FILE
到底是什么?为什么它使用它而不是KEY INDEX FILE_ID
?
然后在这个示例中它使用AdventureWorks2022
CREATE FULLTEXT INDEX ON Production.ProductReview (
ReviewerName LANGUAGE 1033,
EmailAddress LANGUAGE 1033,
Comments LANGUAGE 1033
) KEY INDEX PK_ProductReview_ProductReviewID ON production_catalog;
GO
据我所知,
PK_ProductReview_ProductReviewID
不存在(Production.ProductReviewID
存在)。
那么我应该将这个键设置为什么呢?
PK_DM_OBJECT_FILE
是程序员起的名字。
但是,当您没有为主键指定名称时,您会自动分配一个名称,对于您的情况,它是
PK_ProductReview_ProductReviewID