sql 2012引擎没有意义?

时间:2016-01-28 16:51:43

标签: optimization sql-server-2012 database-engine

先谢谢你们,快速查询下面的内容:

我有一个查询,点击一个10列-14,000,000行表,Id表示聚簇索引,f_date表示非聚集索引。

我还做了两个左连接到非常小的表...我有一个where子句:

在哪里F_date> =' 20131212'

(该陈述应返回约400万行)

该语句需要数小时才能运行...我将表移到另一个框中,我发现如果没有聚簇索引并且只有非聚集索引在几秒钟内运行,这怎么可能?

此外,在新框中,我创建了群集密钥,再次花费数小时,我将其删除并在几秒钟内运行!为什么呢?!

我看到的一件事是,在sys.dm_exec_query_memory_grants中,当它运行缓慢时,它被分配了20MB ...当它在几秒钟内运行时它获得5GB授权......

因此,没有聚集索引=授予大量内存=以秒为单位运行。 使用聚簇索引= 20MB =以小时为单位运行。 ?!?!

ps:连接也会抛出警告,因为我将varchar连接到nvarchar。

0 个答案:

没有答案