当我使用SP_SpaceUsed N'< TableName>'时,我有一个单行表它给我数据为16 KB
当我使用dataLength这样的东西时: -
select ClientID , (0 + isnull(datalength(ClientID), 1) + isnull(datalength(LeadID), 1) + isnull(datalength(Company_Name), 1) + isnull(datalength(Website), 1) + isnull(datalength(EmployeeCount), 1) + isnull(datalength(Revenue), 1) + isnull(datalength(Address), 1) + isnull(datalength(City), 1) + isnull(datalength(State), 1) + isnull(datalength(ZipCode), 1) + isnull(datalength(CountryID), 1) + isnull(datalength(Phone), 1) + isnull(datalength(Fax), 1) + isnull(datalength(TimeZone), 1) + isnull(datalength(SicNo), 1) + isnull(datalength(SicDesc), 1) + isnull(datalength(ResearchAnalysis), 1) + isnull(datalength(SourceID), 1) + isnull(datalength(BasketID), 1) + isnull(datalength(PipelineStatusID), 1) + isnull(datalength(SurveryID), 1) + isnull(datalength(NextCallDt), 1) + isnull(datalength(CurrentRecStatus), 1) + isnull(datalength(AssignedUserID), 1) + isnull(datalength(AssignedDate), 1) + isnull(datalength(TotValueAmt), 1) + isnull(datalength(Remove), 1) + isnull(datalength(Release), 1) + isnull(datalength(LegendID), 1) + isnull(datalength(Inserted_Date), 1) + isnull(datalength(Inserted_By), 1) + isnull(datalength(Updated_Date), 1) + isnull(datalength(Updated_By), 1)) as rowsize from TempLeadHeader order by rowsize desc
它给出了rowsize 167我想这是以字节为单位
我想知道为什么结果会出现这种差异
提前致谢
答案 0 :(得分:3)
sp_spaceused计算页面使用的空间,即8k块。 请记住,表格还包括占用空间的索引等内容。更不用说页面上的数据永远不会满,除非填充因子是100%
datalength将告诉您列的字节数
答案 1 :(得分:2)
你将1行与一个表进行比较,你必须将它与每一行相加,即使那样它也不会相同,因为你没有显示标题信息和索引数据
你也可以做这样的事情
dbcc showcontig ('TempLeadHeader') with tableresults
然后查看最小,最大和平均记录大小列