我的环境中有 2 个 MySQL 数据库。一种大小仅为 40Mb,另一种大小为 20Gb。它们属于名为 infoview 的业务对象应用程序。 40Mb 的大小是正确的,并且是正在运行的 infoview 应用程序。
我想从 cms_infoobjects6 表中准确找出哪些数据耗尽了所有空间。
我正在和我的数据库人员交谈,但我似乎没有取得任何进展,他说他可以看到一个 longblob 列,但没有关于此的真实信息。
最佳答案
您可以使用这样的查询。这里有关于任何 table 的所有信息。你 必须添加 INDEX_LENGTH + DATA_LENGTH 才能获取孔表尺寸。
SELECT * FROM information_schema.tables
WHERE
table_schema='yourSchema'
AND
TABLE_NAME='job';
示例
MariaDB [yourschema]> SELECT * FROM information_schema.tables
-> WHERE
-> table_schema='yourSchema'
-> AND
-> TABLE_NAME='job'\G
*************************** 1. row ***************************
TABLE_CATALOG: def
TABLE_SCHEMA: yourschema
TABLE_NAME: job
TABLE_TYPE: BASE TABLE
ENGINE: InnoDB
VERSION: 10
ROW_FORMAT: Compact
TABLE_ROWS: 7
AVG_ROW_LENGTH: 2340
DATA_LENGTH: 16384
MAX_DATA_LENGTH: 0
INDEX_LENGTH: 0
DATA_FREE: 0
AUTO_INCREMENT: NULL
CREATE_TIME: 2016-06-28 11:46:14
UPDATE_TIME: NULL
CHECK_TIME: NULL
TABLE_COLLATION: utf8_general_ci
CHECKSUM: NULL
CREATE_OPTIONS:
TABLE_COMMENT:
1 row in set (0.08 sec)
MariaDB [yourschema]>
关于MySQL5 - 检查模式中每列的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38185109/