SQL中的最佳LIKE搜索

我有一个零件数据库,我将不断查询报价系统.零件数据库中有1,400,000条记录.用户只是开始键入部件号,他们希望系统只能在几个字符后才能找到,所以我需要能够进行通配搜索,例如:
SELECT NeededFields FROM Parts WHERE PartNumber LIKE 'ML%'

我是否可以执行任何类型的优化以尝试从这种类型的查询中获得最大的性能?我将PartNumber字段编入索引,但我不确定这是否是我能得到的最好的.我愿意考虑与sql索引分开的数据库中内置的备用索引结构.主键是Guid,但我需要这个用于复制,因为我使用的是特定的数据结构.

解决方法

我猜你的主键(GUID)可能有一个聚簇索引.您可能需要考虑使主键不被群集.相反,您可以聚集为PartNumber创建的索引. (每个表只能有一个聚簇索引)

您还应该考虑向查询添加TOP谓词,以便只返回前100行(或左右)行.我在想…如果用户第一次输入M,可能会有几十万次匹配,加载速度很慢.通过限制行数,您应该获得更好的性能.

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...