我在Azure中运行了一个Sql Server数据库,而且我遇到了一些我在本地托管的类似数据库中看不到的性能问题。
有没有办法确定对这些数据库执行查询的时间/时间/时长?
答案 0 :(得分:0)
您可以使用SQL Server Profiler查看SQL Server数据库上运行的确切内容。
检查以下主题中的更多信息; How to trace with SQL Server profiler
在SQL事件探查器中运行跟踪在性能上非常难,所以最好不要让它运行太久。无论您运行什么查询,它都会对性能产生影响,因此在分析时间时要考虑到这一点。
答案 1 :(得分:0)
Azure SQL对完成查询所需的I / O操作数非常敏感。在本地,您仅受磁盘性能的限制,但在Azure中,您有一些DTU限制,这些限制与磁盘操作数量高度相关。使用“查询性能数据洞察”查找哪些查询速度较慢并执行以下操作:
select * from
,请仔细指定所需的列。有时您必须将应用程序逻辑更改为不提取所有内容。例如,您需要选择5列,其中两列用于WHERE子句:
select Col1, Col2, DataCol1, DataCol2, DataCol3 from MYTABLE
where Col1=@Param1 and Col2=@Param2
您应该创建以下索引:
create index IX_MyIndex on MYTABLE(Col1,Col2) INCLUDE(DataCol1, DataCol2, DataCol3)
希望它有所帮助。