Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server T-Sql Datatime按年份分组以获取过多数据_Sql Server_Sql Server 2008_Tsql_Sql Server 2008 R2 - Fatal编程技术网

Sql server T-Sql Datatime按年份分组以获取过多数据

Sql server T-Sql Datatime按年份分组以获取过多数据,sql-server,sql-server-2008,tsql,sql-server-2008-r2,Sql Server,Sql Server 2008,Tsql,Sql Server 2008 R2,对此查询的响应返回了2分钟 SELECT YEAR(T1.SP_CreateDate) AS DATEYEAR, COUNT(1) AS TOTALCOUNT FROM LP_SocialPost T1 WHERE T1.SP_BO_ID = 67 GROUP BY YEAR(T1.SP_CreateDate) DATEYEAR TOTALCOUNT ---------|------------- 2015 452036 LP_SocialPost表的总数据计数=2.

对此查询的响应返回了2分钟

SELECT YEAR(T1.SP_CreateDate) AS DATEYEAR, COUNT(1) AS TOTALCOUNT 
FROM LP_SocialPost T1 WHERE T1.SP_BO_ID = 67
GROUP BY YEAR(T1.SP_CreateDate)


DATEYEAR    TOTALCOUNT
---------|-------------
2015        452036
LP_SocialPost表的总数据计数=2.8M

如何减少查询时间


Thanx.

如果表上没有索引,请在表上创建一个
非聚集索引

您可以在包含
SP\u CreateDate
列的
SP\u BO\u ID
列上创建索引。此索引将帮助查询执行
索引搜索
,而不是表扫描

CREATE NONCLUSTERED INDEX indexname
  ON LP_SocialPost (SP_BO_ID)
  include (SP_CreateDate) 

也许。。。使用分析

取决于现有索引

SELECT YEAR(T1.SP_CreateDate) AS DATEYEAR, 
       COUNT(1) over (partition by Year(T1.SP_CreateDate)) AS TOTALCOUNT 
FROM LP_SocialPost T1 
WHERE T1.SP_BO_ID = 67
有关分析的更多信息

可能重复的