我的SQL查询的数据大小

时间:2015-10-30 11:36:31

标签: sql sql-server performance

我想基于我的一个用户生成的表格构建一个SELECT查询&m; mxsec.secmaster'我可以在哪里测量SELECT语句的大小?

查询的一个例子是

SELECT * 
FROM MXSEC.SECMASTER 
WHERE SECKEY = 4

找出select语句中返回的数据量的最佳方法是什么?我应该使用系统表吗?我应该包含客户统计数据吗?

1 个答案:

答案 0 :(得分:1)

尝试:

SELECT * 
INTO t1
FROM MXSEC.SECMASTER 
WHERE SECKEY = 4

EXEC sp_spaceused 'T1'
DROP TABLE T1

给出如下结果:

 name   rows    reserved    data    index_size  unused
 ----  -------  ---------   ------- ----------- ------
 t1     18304   8912 KB     8848 KB 8 KB         56 KB
  

修改

如果您无法创建永久表,则可以尝试临时表:

SELECT * 
INTO #t1
FROM MXSEC.SECMASTER 
WHERE SECKEY = 4

dbcc showcontig ('tempdb.dbo.#t1') with tableresults

或者,如果您乐意通过SSMS执行此操作,那么您可以在查询执行选项查询菜单/包含客户端统计信息中包含客户端统计信息,然后查看从服务器接收的字节,这将包括网络开销,但可能足以满足你的需求。