是否有任何技术可以计算每个SQL表行的实际使用数据大小?包括启用的索引和日志记录? 字段大小的总和不正确,因为某些字段可能为空或数据小于字段大小。 目标是知道每个用户准确使用多少数据。 可能我可以在处理程序方面这样做。
答案 0 :(得分:0)
用“确切”一词,我不得不说“不”。
将其改为“大约”,我说
getchar()
并查看SHOW TABLE STATUS
。此信息也可在Avg_row_length
中找到。
但是,这只是一个平均值。那不是一个非常准确的平均值。
你在这里或那里关心一百个字节吗?用户是否拥有单个表中的行?到底是怎么回事?
有一些粗略的公式用于计算数据行和索引行的大小,但在日志记录中没有任何内容。其中一个问题是,如果BTree中存在“块拆分”,因为其他人插入了行,您是否会在所有用户之间平均分配新块?或者是什么?