我有一个表,它存储文件名的树状结构。此表中当前有 800 万条记录。我正在研究一种快速查找名称中嵌入了特定序列号的文件列表的方法。
FS_NODES
-----------------------------------
NODE_ID bigint PK
ROOT_ID bigint
PARENT_ID bigint
NODE_TYPE tinyint
NODE_NAME nvarchar(250)
REC_MODIFIED_UTC datetime
REC_DELETION_BIT bit
示例文件名(存储在 node_name 中):
scriptname_SomeSerialNumber_201205240730.xml
正如预期的那样,查找文件的 LIKE 语句需要几分钟来扫描整个表,并且希望对此进行改进。名称没有一致的模式,因为每个开发人员都喜欢创建自己的命名约定。
我尝试使用全文搜索并且非常喜欢这个想法,但无法让它根据名称中的关键字查找文件。我相信问题是由于下划线造成的。
关于如何让它发挥作用的任何建议?我在目录中使用中性语言。
@@VERSION
Microsoft SQL Server 2005 - 9.00.4035.00 (Intel X86)
Nov 24 2008 13:01:59
Copyright (c) 1988-2005 Microsoft Corporation
Standard Edition on Windows NT 5.2 (Build 3790: Service Pack 2)
有没有办法更改目录并手动拆分关键字?谢谢!