saas平台中采用共享mysql数据库表,每个用户所占用的表空间大小该怎么监控,或该怎么才能计算出来?
的阿尔额 2018-01-24 11:29:55 背景:saas平台采用共享mysql数据库,共享数据库表的模式,每个表有都有个外键uid来标识每个用户,而且表的有些字段是varchar类型的。
问题:那该怎么计算出每个用户所占用的表空间大小呢?该怎么监控每个用户所占用表空间大小的变化情况呢?比如说表testA,要计算出每个用户占用testA表空间大小的情况,监控占用表空间大小的变化情况,这个该怎么实现?
目前想到的方案:可不可以采用java字段与表字段映射关系来做呀?就是平台里采用的Hibernate,java对象与数据库表是一一对应的。先获得java对象每个字段的长度,再按这篇文章(http://blog.csdn.net/J080624/article/details/52875344)的字段大小来进行换算呀,每行记录都对应一个租户,通过这种方式来获得要插入的一行记录的大小,进而获得对应租户的所有大小。请问这种方案可行吗?