none
有没有办法计算出select的结果的数据大小 RRS feed

  • 问题

  • 例如

    SELECT COUNT(*) FROM TABLE WHERE 字段1=xxx AND 字段2=xxx

    我想知道select出来的结果集的大小

    查询一个表的大小很简单,但是如果筛选条件查询处理的结果集大小好像有难度

    DECLARE @tablespaceinfo TABLE (  
        nameinfo varchar(50),  
        rowsinfo int,  
        reserved varchar(20),  
        datainfo varchar(20),  
        index_size varchar(20),  
        unused varchar(20)  
    )  
     
    DECLARE @tablename varchar(255);  
     
    DECLARE Info_cursor CURSOR FOR 
        SELECT '['+[name]+']' FROM sys.tables WHERE type='U';  
     
    OPEN Info_cursor  
    FETCH NEXT FROM Info_cursor INTO @tablename  
     
    WHILE @@FETCH_STATUS = 0  
    BEGIN 
        insert into @tablespaceinfo exec sp_spaceused @tablename  
        FETCH NEXT FROM Info_cursor  
        INTO @tablename  
    END 
     
    CLOSE Info_cursor  
    DEALLOCATE Info_cursor  
     
    SELECT * FROM @tablespaceinfo  
        ORDER BY Cast(Replace(reserved,'KB','') as INT) DESC  

    从客户端统计信息里面看还是不行

    2014年6月17日 11:33

全部回复