Я использую запрос с функцией containstable со строковым поиском вроде этого: «1-1» или аналогичный (например, «1 1» или «aa»). Проблема в том, что запрос занимает слишком много времени и не дает много результатов. . Вместо этого тот же запрос, но с другой строкой поиска, такой как «a», которая дает гораздо больше результатов, и для ее выполнения требуется гораздо меньше времени. это запрос:
SELECT COUNT(d.DocumentID)
FROM KnowledgeIndex_Data.dbo.Document d
INNER JOIN CONTAINSTABLE ( KnowledgeIndex_Data.dbo.Document , * , '"1-1"' ) ftt
ON ( d.DocumentID = ftt.[Key] )
Примечание. Список стоп-слов для полнотекстового индекса не содержит 1
Вы знаете, что может происходить? Спасибо!
Вот план выполнения
вот сценарий создания таблицы Document:
CREATE TABLE dbo.Document
(
DocumentID int IDENTITY (1, 1) NOT NULL -- Local int for cross reference tables to save 12 bytes per record
, DocumentGUID uniqueidentifier NOT NULL
-- , DocumentTypeID tinyint NOT NULL
, DocumentSourceID smallint NOT NULL -- New Document Source identifier
, SourceDocumentID nvarchar(80) NOT NULL --crb 2011/08/23 changed from nvarchar(40) to support PageCodes -- asw 2010/02/12 renamed to make purpose more clear
, DocumentStructureID tinyint NOT NULL -- New Document Structure identifier
, SortOrder nvarchar(450) NOT NULL -- 2010/06/18 bdw- Add the Sort Order column and index to the Document table
, ResultDisplayContent xml (DOCUMENT DocumentResultDisplayContentSchemaCollection) NOT NULL -- Required For All DocumentTypes -- jci 2011/02/22 DOCUMENT added -- jci 2010/07/02 xml schema added
, DetailDisplayContent xml (DOCUMENT DocumentDetailDisplayContentSchemaCollection) NULL -- Only required for some DocumentTypes -- jci 2011/02/22 DOCUMENT added -- jci 2011/0/31 xml schema added
, TeaserDisplayContent xml (DOCUMENT DocumentResultDisplayContentSchemaCollection) NULL -- Teaser Result data. Optional, replaced with main ResultDisplayContent if null. -- jci 2011/02/22 DOCUMENT added -- jci 2010/07/02 xml schema added
, TitleQueryContent nvarchar(max) NOT NULL
, QueryContent nvarchar(max) NOT NULL
, CreatedAt datetimeoffset(2) NOT NULL
, CONSTRAINT pcDocument PRIMARY KEY CLUSTERED -- jci 2011/07/01 replaced -- CONSTRAINT pncDocument PRIMARY KEY NONCLUSTERED
( DocumentID ) WITH FILLFACTOR = 100
, CONSTRAINT fkDocumentDocumentSourceID FOREIGN KEY
( DocumentSourceID )
REFERENCES dbo.DocumentSource ( DocumentSourceID )
ON DELETE CASCADE
, CONSTRAINT fkDocumentDocumentStructureID FOREIGN KEY
( DocumentStructureID )
REFERENCES dbo.DocumentStructure ( DocumentStructureID )
ON DELETE CASCADE
)
GO
и индекс:
-- Create Index On Table
CREATE FULLTEXT INDEX ON dbo.Document(QueryContent LANGUAGE N'English' , TitleQueryContent LANGUAGE N'English')
KEY INDEX pcDocument -- 2011/07/01 replaced --pncDocument
ON (FILEGROUP SECONDARY)
WITH STOPLIST = SrsStopWordList -- Use SrsStopWordList
, CHANGE_TRACKING = OFF , NO POPULATION; -- Update Manually For Performance
GO
dbo.Document
включая индексы? Как выглядит быстрый план? - person Martin Smith   schedule 14.11.2012