我正在修复 SQL Server 中多语句存储过程的性能问题。我想知道我应该花时间在哪一部分上。
我从如何阅读查询成本中了解到,它总是一个百分比吗?即使当 SSMS 被告知包括实际执行计划时,“查询成本(相对于批次)”数字仍然基于成本估算,这可能与实际情况相差甚远
我从测量查询性能:“执行计划查询成本”与“所用时间”中了解到,我可以用SET STATISTICS TIME语句包围存储过程的调用,然后我将在Messages窗格中获得如下列表:
SQL Server parse and compile time:
CPU time = 0 ms, elapsed time = 1 ms.
SQL Server Execution Times:
CPU time = 0 ms, elapsed time = 0 ms.
[etc]
SQL Server Execution Times:
CPU time = 187 ms, elapsed time = 206 ms.
Run Code Online (Sandbox Code Playgroud)
每个语句都有一个输出消息。
我可以“轻松”(虽然不方便)将时间统计输出与 Execution plan 窗格中的逐个语句执行计划相关联,方法是对它们进行计数:第四条SQL Server Execution Times消息输出对应Query …
performance sql-server ssms execution-plan query-performance
使用 SQL Server 2008 R2 附带的 SQL Server Management Studio,我使用许多不同的 SQL Server 身份验证凭据集连接到同一台服务器。在我的开发机器上,我Remember password广泛使用复选框以避免每次都必须查找密码。
当我选择以前连接过的登录名(使用记住密码)时,密码输入字段将填充星号,并且大多数情况下单击“连接”允许我进入。但有时,我无法辨别模式,在选择以前使用的登录名时,密码字段将预先填充星号,但单击连接告诉我登录失败。我输入密码,单击“连接”,然后进入,然后通常下次我使用相同的登录名时它会起作用。
我怀疑 SSMS 准备记住的凭据数量是最大的,实际上只记住了最近使用的n凭据,但我在文档中找不到任何提及此类行为的内容。
SSMS 会记住多少凭据是否有已知限制?
我已经使用 SchemaSpy 进行了分析。
该工具给了我两个表的警告消息。警告信息是:
列名递增的表,可能表示非规范化
上述错误是什么意思?
以供参考 :