如何在MySQL中获取表的每一行的大小,即一行占用的空间的总大小。假设一个表有BLOB列。并不是所有行的大小都相同。我想列出所有的BLOB列,即文本列,这是更大的大小。类似地,单个行的集合大小。
是否可以在单个查询中检索表的每个行大小?
发布于 2017-08-07 03:00:33
不确定如何获取table..However的每一行大小,能够查找表、数据库大小的查询。这似乎是不可能的。
列出单个数据库中的表大小
假设数据库名称为"example“
SELECT
TABLE_NAME AS `Table`,
ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024) AS `Size (MB)`
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA = "example"
ORDER BY
(DATA_LENGTH + INDEX_LENGTH)
DESC;整个数据库大小
SELECT table_schema "Data Base Name", sum( data_length + index_length) / 1024 / 1024
"Data Base Size in MB" FROM information_schema.TABLES GROUP BY table_schema ;
SELECT sum(ROUND(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024),2)) "Size in MB"
FROM INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA = "your_db_name";
SELECT table_schema as 'Database Name',
sum( data_length + index_length ) as 'Size in Bytes',
round((sum(data_length + index_length) / 1024 / 1024), 4) as 'Size in MB'
FROM information_schema.TABLES
GROUP BY table_schema;https://stackoverflow.com/questions/24365504
复制相似问题