0

使用SQL Server 2012,我有一张表,当前有几十万行,并且会增长。全文索引是否适用于具有嵌入代码值的列

在此表中,我有一个包含医疗记录编号(MRN)值的nvarchar(30)字段。这些值可以是任何字母数字值,但不是单词。

例如

DR-345687 
34568523 
*45612345;T 

我的应用程序允许终端用户输入值,在搜索字段中说“456”。应用程序需要返回全部三个示例记录。

目前,我正在使用实体框架5.0,并要求field.Contains('456')类型的搜索。

这总是需要3-5秒才能返回,因为它似乎在执行表搜索。

我的问题是:会创建一个全文索引这一栏的帮助性能?我还没有尝试过,因为我拥有大量数据的数据库的唯一副本目前正在进行QA试用。

看看全文索引的文档,它似乎是围绕单独的单词在字段值中进行了优化,所以我很犹豫如何在不知道如何影响性能的情况下创建索引我的查询性能。

回答

1

EF不会使用访问SQL Server全文索引(http://msdn.microsoft.com/en-us/library/ms142571.aspx#queries)所需的T-SQL关键字,因此如果没有更多工作,您的解决方案将无法运行。

我想你将不得不创建一个SProc来使用FTI获取数据,然后让EF调用它。我有类似的问题,并有兴趣知道你的结果。

Andy

+0

对解决方案感兴趣不是答案。所以,请,如果你有一个问题不要犹豫,在这里问一个http://stackoverflow.com/questions/ask – 2013-06-27 12:08:19

相关问题