【发布时间】:2010-04-02 09:01:50
【问题描述】:
我有一个包含下表的 SQL 数据库:
表:电话记录 -------------- 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 ram、i7 930 四核超频 4.01ghz 上完成上述查询大约需要 2 小时。我显然拥有执行此类查询所需的计算机能力,但查询仍然需要很长时间。
【问题讨论】:
-
能否提供表上索引的详细信息?
标签: sql-server