1、对t1.id建主键(包括唯一标识、簇索引) 2、set nocount on 3、对硬件升级 4、改用oracle
t1.id 不是唯一,已经建了簇索引。 set nocount on 是什么意思?
加内存对这条sql有无帮助?已有1G内存
set nocount on 是什么意思?搜索SQL的联机帮助看看: 当 SET NOCOUNT 为 ON 时,不返回计数(表示受 Transact-SQL 语句影响的行数)。当 SET NOCOUNT 为 OFF 时,返回计数。即使当 SET NOCOUNT 为 ON 时,也更新 @@ROWCOUNT 函数。当 SET NOCOUNT 为 ON 时,将不给客户端发送存储过程中的每个语句的 DONE_IN_PROC 信息。当使用 Microsoft® SQL Server™ 提供的实用工具执行查询时,在 Transact-SQL 语句(如 SELECT、INSERT、UPDATE 和 DELETE)结束时将不会在查询结果中显示"nn rows affected"。【如果存储过程中包含的一些语句并不返回许多实际的数据,则该设置由于大量减少了网络流量,因此可显著提高性能。】SET NOCOUNT 设置是在执行或运行时设置,而不是在分析时设置。
2、set nocount on
3、对硬件升级
4、改用oracle
set nocount on 是什么意思?
当 SET NOCOUNT 为 ON 时,不返回计数(表示受 Transact-SQL 语句影响的行数)。当 SET NOCOUNT 为 OFF 时,返回计数。即使当 SET NOCOUNT 为 ON 时,也更新 @@ROWCOUNT 函数。当 SET NOCOUNT 为 ON 时,将不给客户端发送存储过程中的每个语句的 DONE_IN_PROC 信息。当使用 Microsoft® SQL Server™ 提供的实用工具执行查询时,在 Transact-SQL 语句(如 SELECT、INSERT、UPDATE 和 DELETE)结束时将不会在查询结果中显示"nn rows affected"。【如果存储过程中包含的一些语句并不返回许多实际的数据,则该设置由于大量减少了网络流量,因此可显著提高性能。】SET NOCOUNT 设置是在执行或运行时设置,而不是在分析时设置。
既然 t1.id 不是唯一,那你又是如何建了簇索引?可以把 t2 的索引删除,插入完成后,再建,看看是否有提高。