我有一个包含以下表格的 SQL 数据库:
Table: PhoneRecords -------------- ID(自增长) 名字 姓氏 电话号码 邮政编码
这是一个非常简单、直接的表格。该表格有超过 2000 万记录。我正在寻找从表格中检索基于区号的记录的最佳方法。例如,下面是一个示例查询:
SELECT phonenumber, firstname
FROM [PhoneRecords]
WHERE (phone LIKE '2012042%') OR
(phone LIKE '2012046%') OR
(phone LIKE '2012047%') OR
(phone LIKE '2012083%') OR
(phone LIKE '2012088%') OR
(phone LIKE '2012841%')
如您所见,这是一个丑陋的查询语句,但如果我没有遇到超时问题,它可以完成工作。
有人能告诉我如何以最快速度/优化的方式执行上述查询以显示结果吗?目前,上述查询大约需要在9gb 1600mhz内存、i7 930四核OC'd 4.01ghz的计算机上花费2个小时才能完成。显然,我拥有执行此类查询所需的计算机性能,但仍需要太长时间来查询。