1) У меня есть текстовые поля FirstName, LastName и City. Они индексируются с полным текстом.Ускорить SQL Server Полнотекстовый индекс через текстовое дублирование неиндексированных столбцов
2) У меня также есть поля FK int AuthorId и EditorId, а не полнотекстовые индексы.
Поиск по FirstName = «ABC» И AuthorID = 1 будет первым поиск всех полнотекстового индекса для «ABC», а затем сузить набор результатов для AuthorID = 1.
Это плохо, потому что это огромная трата ресурсов, поскольку полнотекстовый поиск будет выполняться по многим записям, которые не будут применяться.
К сожалению, это, по моему знанию, невозможно обернуть (узким по AuthorId сначала, а затем полнотекстовым поиском подмножества, которое соответствует), потому что процесс FTS отделен от SQL Server.
Теперь мое предлагаемое решение, на которое я обращаю обратную связь: имеет смысл создать еще один вычисленный столбец, который будет включен в полнотекстовый поиск, который идентифицирует автора как текст (например, AUTHORONE). Таким образом, я мог бы избавиться от ограничения AuthorId и вместо этого сделать его частью моего полнотекстового поиска (поиск «abc» будет «abc» и «AUTHORONE» - все выполняется как часть полнотекстового поиска).
Это хорошая идея или нет? Зачем?