【发布时间】:2014-03-04 07:14:13
【问题描述】:
我有一个包含 5-1000 万条记录的表,其中包含 2 个字段
示例数据
Row Field1 Field2
------------------
1 0712334 072342344
2 06344534 083453454
3 06344534 0845645565
给定 2 个变量
variable1 : 0634453445645
variable2 : 08345345456756
我需要能够尽快查询表以获得最佳匹配
上面的例子会产生 1 条记录(例如第 2 行)
查询数据库匹配的最快方法是什么?
注意:数据和变量总是采用这种格式(即总是一个数字,可能有也可能没有前导零,并且字段不是唯一的,但是两者的组合将是)
我最初的想法是做这样的事情
Select blah where Field1 + "%" like variable1 and Field2 + "%" like variable2
如果不正确,请原谅我的伪代码,因为这更像是一个事实调查任务。不过我想我在球场上。
注意:我认为任何索引都无济于事,但我猜基于内存的表会加快速度。
谁能想到解决问题的更好方法?
【问题讨论】:
-
虽然所有答案都帮助了我,但我认为@Mikael Eriksson 的答案让我在这个阶段最接近,通过 SQL 调优顾问考虑计划和索引
标签: sql-server performance sql-like