AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 147772
Accepted
leemicw
leemicw
Asked: 2016-08-25 08:19:20 +0800 CST2016-08-25 08:19:20 +0800 CST 2016-08-25 08:19:20 +0800 CST

我如何衡量查询在 Azure SQL 数据仓库上花费的时间

  • 772

在传统的 SQL Server 中,我可以通过设置以下内容来获取 CPU 和运行时间

set statistics time on

当我在 Azure SQL 数据仓库上尝试时,出现以下错误

Msg 103010, Level 16, State 1, Line 19
Parse error at line: 1, column: 5: Incorrect syntax near 'statistics'.

我有哪些选项可以从 SQL 数据仓库获取类似的诊断信息

data-warehouse azure
  • 2 2 个回答
  • 1226 Views

2 个回答

  • Voted
  1. Best Answer
    wBob
    2016-08-25T10:54:51+08:002016-08-25T10:54:51+08:00

    OPTION ( LABEL ... )使用Azure SQL 数据仓库支持的语法向查询添加标签。然后,您可以通过门户网站或使用 DMV 进行监控sys.dm_pdw_exec_requests,例如

    SELECT *
    FROM dbo.yourBillionRowTable
    OPTION ( LABEL = 'Your Unique Query Label 042' )
    
    
    -- In a separate window...
    SELECT *
    FROM sys.dm_pdw_exec_requests
    WHERE [label] =  'Your Unique Query Label 042'
    

    结果: 车管所

    或者在门户中监控它:

    门户网站

    • 1
  2. Kin Shah
    2016-08-25T08:41:06+08:002016-08-25T08:41:06+08:00

    set statistics time on不支持(set statistics IO on支持!)

    在此处输入图像描述

    您应该使用查询存储来衡量 Azure 数据库的查询性能。

    注意:不支持查询存储(感谢@wBob!)

    唯一可靠的方法是使用我从门户网站获得的以下查询

    在此处输入图像描述

    select top 50
                (case when requests.status = 'Completed' then 100
                when progress.total_steps = 0 then 0
                else 100 * progress.completed_steps / progress.total_steps end) as progress_percent,
                requests.status, 
                requests.request_id, 
                sessions.login_name, 
                requests.start_time, 
                requests.end_time, 
                requests.total_elapsed_time, 
                requests.command,             
                errors.details,
                requests.session_id,
                (case when requests.resource_class is NULL then 'N/A'
                else requests.resource_class end) as resource_class,
                (case when resource_waits.concurrency_slots_used is NULL then 'N/A'
                else cast(resource_waits.concurrency_slots_used as varchar(10)) end) as concurrency_slots_used
    
                from sys.dm_pdw_exec_requests AS requests
    
                join sys.dm_pdw_exec_sessions AS sessions
                        on (requests.session_id = sessions.session_id)
                left join sys.dm_pdw_errors AS errors
                    on (requests.error_id = errors.error_id)
                left join sys.dm_pdw_resource_waits AS resource_waits
                    on (requests.resource_class = resource_waits.resource_class)
                outer apply (
                    select count (steps.request_id) as total_steps,
                        sum (case when steps.status = 'Complete' then 1 else 0 end ) as completed_steps
                    from sys.dm_pdw_request_steps steps where steps.request_id = requests.request_id
                ) progress
    
                cross apply (
                        select count (*) as is_batch
                        from sys.dm_pdw_exec_requests inner_requests
                        where inner_requests.session_id = requests.session_id
                                and inner_requests.request_id != requests.request_id
                                and inner_requests.start_time >= requests.start_time
                                and (inner_requests.end_time <= requests.end_time
                                        or (inner_requests.end_time is null and requests.end_time is null)
                                )
                ) batch
    
                where requests.start_time >= DATEADD(hour, -24, GETDATE())
                        and batch.is_batch = 0
    
                ORDER BY requests.total_elapsed_time DESC, requests.start_time DESC
    
    • 0

相关问题

  • 创建 MV 日志时是否需要枚举物化视图中使用的列?

  • 结合零售销售和支付 OLAP 多维数据集

  • 开源商业智能/DWH 解决方案 [关闭]

  • 数据仓库创建

  • 在数据仓库中实现多对多关系有哪些方法?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve