SQL中的最佳LIKE搜索
发布时间:2020-12-12 06:55:21 所属栏目:MsSql教程 来源:网络整理
导读:我有一个零件数据库,我将不断查询报价系统.零件数据库中有1,400,000条记录.用户只是开始键入部件号,他们希望系统只能在几个字符后才能找到,所以我需要能够进行通配符搜索,例如: SELECT NeededFields FROM Parts WHERE PartNumber LIKE 'ML%' 我是否可以执行
我有一个零件数据库,我将不断查询报价系统.零件数据库中有1,400,000条记录.用户只是开始键入部件号,他们希望系统只能在几个字符后才能找到,所以我需要能够进行通配符搜索,例如:
SELECT NeededFields FROM Parts WHERE PartNumber LIKE 'ML%' 我是否可以执行任何类型的优化以尝试从这种类型的查询中获得最大的性能?我将PartNumber字段编入索引,但我不确定这是否是我能得到的最好的.我愿意考虑与SQL索引分开的数据库中内置的备用索引结构.主键是Guid,但我需要这个用于复制,因为我使用的是特定的数据结构. 解决方法我猜你的主键(GUID)可能有一个聚簇索引.您可能需要考虑使主键不被群集.相反,您可以聚集为PartNumber创建的索引. (每个表只能有一个聚簇索引)您还应该考虑向查询添加TOP谓词,以便只返回前100行(或左右)行.我在想…如果用户第一次输入M,可能会有几十万次匹配,加载速度很慢.通过限制行数,您应该获得更好的性能. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql – 在Presto中从变量生成间隔
- sql – 在postgres中创建一个范围
- sql-server – 所有SQL Server版本是否自动重建索引或具有默
- sqlserver 中case when用法小结
- SQL Server 动态SQL中返回数值的实现代码
- DBCC大全集之(适用版本MS SQLServer 2008 R2)----DBCC DB
- [推荐] (SqlServer)批量清理指定数据库中所有数据
- sql-server – SQL Compilations对SQL Server性能的影响有多
- sql-server – 在整个数据库中更改GETDATE()的使用
- mysql 5.6.14 win32 解压缩版(免安装)安装配置教程