我正在对一个相当大的表运行此查询(我猜,大约 150-200 000 行):
select count(Distinct(eti.Email)) FROM table1 eti
LEFT OUTER JOIN table2 ti on ti.Email = eti.Email and ti.SiteId = eti.Site_Id
WHERE eti.Site_Id=1
在 SMMS(SQL Server Management Studio)中,执行时间不到 1 秒,但是当我尝试从我的 ASP.NET 站点执行时,它会超时。
我正在使用 PetaPoco 来获取“幕后”执行此代码的数据:
using (var cmd = CreateCommand(_sharedConnection, sql, args))
{
object val = cmd.ExecuteScalar();
OnExecutedCommand(cmd);
return (T)Convert.ChangeType(val, typeof(T));
}
我一直在读到 SSMS 在执行查询时有一些“特殊设置”?我真的需要启动并运行它。
连接中的“MARS”设置是否对此有任何影响?如何调试和发现问题?
谢谢!