我想计算表中所选行占用的确切大小。 表具有不同的列数据类型,如int,varchar,date ...
示例:
SNO(INT),NAME(VARCHAR),DATE(DATE)
1,ABC,20-01-2017
2,BCD,11-01-2017
我的目标是计算两行数据完全占用的大小,分别与实际数据类型存储相对应。
如sum(size(SNO)+ size(NAME)+ size(DATE))
任何人都可以帮我解决这个问题。 感谢
答案 0 :(得分:0)
它计算所有列大小数据类型的总和
SELECT sum(cast(substring_index(COLUMN_TYPE,'(',-1) as signed)) as totalsum,
FROM information_schema.COLUMNS WHERE TABLE_NAME = 'mytable';
此处将“mytable”替换为您的表名
答案 1 :(得分:0)
感谢您的更新denny。
这是列大小的总和。可能是我身边的错误。我不想要列大小。我想要数据大小。
SNO(INT),NAME(VARCHAR),DATE(DATE)
1,ABC,20-01-2017
2,BCD,11-01-2017
喜欢sum( size(1)+size(ABC)+size(20-01-2017))
。
内存中数据占用的大小。
由于