我的环境中有2个MySQL DB。一个只有40Mb大小,另一个是20 in。它们属于名为infoview的业务对象应用程序。40Mb的是正确的大小,并且是工作的infoview应用程序。
我想从表cms_infoobjects6中准确地找出哪些数据正在占用所有的空间。
我正在与我的数据库人员交谈,我似乎没有取得任何进展,他说他可以看到一个longblob列,但没有关于这方面的真正信息。
发布于 2016-07-04 23:54:28
您可以使用这样的查询。这里有关于任何表的所有信息。必须添加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]>发布于 2016-07-10 02:50:08
使用SHOW CREATE TABLE tablename显示给定表的架构。这可能是LONGBLOB --这意味着一个列最多可以容纳4 4GB的数据。它可能会显示VARCHAR(100),这一列最多允许包含100个字符。
要找到这些列的实际大小,您需要类似这样的内容
SELECT LENGTH(col) FROM tablename;这将为col提供字节长度列表。
问题是什么?
https://stackoverflow.com/questions/38185109
复制相似问题