我想估计查询结果的实际数据大小。例如,我想知道数据集对于此表中少于4年的所有记录的大小,并在SQL Server中使用以下查询
select * from dbo.MY_TABLE
where ETL_CREATE_DTM > dateadd(year, -1, getdate());
我究竟如何获得查询结果的大小,以MB或GB为单位而不是行数?
答案 0 :(得分:0)
如果您不想运行查询,可以使用估算的查询计划来了解行数
只需在查询窗口中选择您的查询,右键点击并选择“显示预估执行计划”
然后,如果您将鼠标悬停在' SELECT'图标弹出窗口将显示估计的行数。
通过执行以下操作,您可以了解数据量:
右键单击SSMS中的表名,然后选择“属性”,然后选择“存储”。
返回的MB数量的估计值将由(估计行数)/(行数)*(数据空间)
给出所以这里它将是914/15708 * 11.266 = 0.66MB
NB仅当您返回整行时才会有效,并假设每行中的数据均匀分布。如果您有二进制项目(例如存储在列中的图像),则此方法可能无法阻止,但如果您只是存储基本数据类型,则应该没有问题。字符串,数字。