我已经创建了一个项目,我将提供几个商店的机会,发布他们的产品和收费的基础上,他们占用的存储兆字节。为此,我使用SQL数据库。我的问题是,如果“products”表具有以下列,我如何获得客户在数据库中占用的空间:“productId”,“customerId”,“productName”,“productPrice”?
我已经尝试过了,但它返回整个表的总大小,我想要的是获得某些行的大小,其中“customerId”等于所请求的。
SELECT (SUM(DATA_LENGTH) + SUM(INDEX_LENGTH)) AS 'bytes'
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'project' AND TABLE_NAME = 'products';
如果你有更好的主意来解决这个问题,我将不胜感激。
1条答案
按热度按时间gijlo24d1#
如果我们可以考虑所有行都是相同的大小,这可能会起作用:
其思想是计算每个客户的行数,除以总行数,然后将结果乘以总字节数。