我需要知道每个表的大小(以MB或KB为单位),但是按特定值过滤。在我的例子中,值是用户id,其中每个表都有该列。
所以我尝试了这个:
SELECT table_name AS "Table",
round(((data_length + index_length) / 1024 / 1024), 2) AS "Size in MB"
FROM information_schema.TABLES
WHERE table_schema = "myDBname" AND table_name IN ("co_user", "user")
它工作正常,但它为我提供了每个表的整个大小值。现在我需要获取每个表的值,但仅限于用户id为特定值的行。
AND user_id = 'userIDvalue'
有可能吗?我该怎么办?
我正在使用PHP和MySQL。
谢谢。
答案 0 :(得分:0)
此类信息未存储在information_schema
中。您可以做的是,获取您现在拥有的结果并将其乘以
SELECT COUNT(*) FROM your_table WHERE user_id = 'userIDvalue' / SELECT COUNT(*) FROM your_table