如何在SQL表中找到特定行占用的空间。
作为示例,请考虑以下示例: 有客户和相关订单。有客户表和订单表。
Table : Customer
Columns : Id, Name, Address, Occupation
PK : Id
Table : Order
Columns : OrderId, CustomerId, OrderDescription, OrderCost
PK : OrderId, CustomerId
在运行时,有两个客户,一个客户有10个订单,另一个客户有100个订单。
我需要编写一个查询,在给定客户ID的情况下,我应该返回此特定客户在Sql中消耗的总字节数。
任何建议或输入都会非常有用。
答案 0 :(得分:1)
您可以根据这些答案计算出任何行的行长度:
然后,这是一个每行累加字节的问题。相同的行结构技术也适用于任何索引。
我不会为您编写完整的查询。如果您知道所有可变长度字段的长度,这是非常简单的。注意:使用DATALENGTH,而不是LEN,因为尾随空格和ANSI PADDING,你需要字节而不是字符。