2017-02-28 94 views
0

我想计算表中选定行占用的确切大小。 表具有不同的列的数据类型如int,VARCHAR,日期...MYSQL数据库中选定行的大小计算

例如:

SNO(INT),NAME(VARCHAR),DATE(DATE)

1,ABC, 20-01-2017

2,BCD,2017年11月1日

我的目标是通过计算数据的两行与RES完全占据的大小pective到他们的实际数据类型存储。

像总和(大小(SNO)+尺寸(NAME)+尺寸(DATE))

谁能帮助我解决这个问题。 感谢

+0

的可能的复制[如何在GB让MySQL行大小(http://stackoverflow.com/questions/15715487/how-to-get-mysql-row-size-in-gb) –

回答

0

它计算所有列大小的数据类型

SELECT sum(cast(substring_index(COLUMN_TYPE,'(',-1) as signed)) as totalsum, 
FROM information_schema.COLUMNS WHERE TABLE_NAME = 'mytable'; 

这里“MYTABLE”你的表名

+0

ru对此查询是否满意?请留下评论而不是回答 – denny

0

感谢您的更新丹尼取代的总和。

这是列大小的总和。可能是我的错。我不想列大小。我想要数据大小。

SNO(INT),NAME(VARCHAR),DATE(DATE)

1,ABC,20-01-2017

2,BCD,2017年11月1日

like sum(size(1)+size(ABC)+size(20-01-2017))

存储器中的数据占用的大小。

感谢

+0

这不是一个答案,这应该是denny的回答或对问题的编辑的评论。 – Shadow