日期:2014-05-17  浏览次数:20544 次

如何监测mssql2000返回结果集的字节数?
请问如何 如何监测mssql2000返回结果集的字节数?

比如执行了一个“select * from 表”查询,我们需要知道,这个查询到底返回了多大的数据……


性能监视器 是不行的,只有内存,磁盘;

事件探查器 里也没这一列;

有人说,直接把返回的数据集用adodb存为文件,计算大小,这个估计是可以,不过效率也太低了一些,而且不便于统计……

求更先进的办法

------解决方案--------------------
返回结果集的字节数?
只能先取得一条记录的字节数存到y后,以后根据记录数*y
------解决方案--------------------
SQL code


select sum( datalength(col1)+ datalength(col2)+  datalength(col3)+ ...) from [表]

------解决方案--------------------
可用Recordset的CacheSize属性,
参考 http://msdn.microsoft.com/en-us/library/ee266249(v=bts.10).aspx
------解决方案--------------------
记录数量是RecordCount属性.
------解决方案--------------------
对一个确定的表,记录数多少决定返回的数据长度,
在select * from 表之前,
可用select count(*) from 表,查看查询到底可返回多少条记录,
根据返回的结果,就可确定
select * from 表 会返回多少数据.
------解决方案--------------------
探讨
SQL code



select sum( datalength(col1)+ datalength(col2)+ datalength(col3)+ ...) from [表]

------解决方案--------------------
探讨

SQL code
select sum( datalength(col1)+ datalength(col2)+ datalength(col3)+ ...) from [表]

------解决方案--------------------
应该有个显示估计执行计划里,可以看到字节数~