我有一个用 C# 编写的应用程序,它使用 Linq2SQL 与 SQL Server 进行通信。有些查询运行有点(非常)慢,我认为它可能需要一些索引来加快速度。
但我真的不知道该怎么做,也不知道我应该或不应该做什么或在哪里做什么。所以我想我可以在这里问,但后来我发现了一个名为Database Engine Tuning Advisor的程序,我认为我可以先尝试一下。问题是我无法让它工作。可能是我不知道该怎么做,但我真的无法弄清楚这一点。据我所知,我已经按照帮助文件做了我应该做的事情。
- 打开SQL Server Profiler。
- 使用Tuning模板开始一个新的Trace 。
- 启动我的应用程序并执行一些生成 SQL 查询的操作。
- 关闭我的应用程序。
- 停止追踪。
- 将跟踪保存为跟踪文件。
- 打开数据库引擎优化顾问
- 选择File as Workload并选择我之前保存的Trace 文件。
- 在Select databases and tables to tune下选择我的应用程序使用的数据库。
- 单击开始分析。
到目前为止,我认为事情进展顺利。但是当它在一段时间后完成时,我得到了这个:
还有一个完全空的推荐页面。事件不引用任何表?这是什么意思(当然除了显而易见的:p)?我是否误解了这里的流程?到底是怎么回事?