MySQL5 - 检查模式中每列的大小

时间:2016-07-04 12:44:32

标签: mysql sizeof infoview

我的环境中有2个MySQL数据库。一个是40Mb,另一个是20Gb。它们属于名为infoview的业务对象应用程序。 40Mb的那个是正确的大小,是工作的infoview应用程序。

我想从表cms_infoobjects6中找出完全用尽所有空间的数据。

我正在与我的数据库人员交谈,我似乎没有到达任何地方,他说他可以看到一个长篇专栏但没有真正的信息。

2 个答案:

答案 0 :(得分:0)

你可以使用这样的查询。有关于任何表的所有信息。您 必须添加INDEX_LENGTH + DATA_LENGTH才能获得孔表大小。

for line in p.stdout:
   try:
        fiw = open("1.txt", '+a')
        line = str(line)
        if "Received = 1" in line:
            hostad = socket.gethostbyaddr(ip3 +str(i))
            if hostad:
                try:
                    print(hostad)
                except socket.herror:
                    print(hostad)
            fiw.write("Received reply from " + ip3 +str(i)+"\n")
            print("Received reply from " + ip3 +str(i)+"\n")
            print(socket.gethostbyaddr(ip3 +str(i)))
   except:
            pass

<强>样品

SELECT * FROM information_schema.tables 
WHERE
  table_schema='yourSchema'
AND
  TABLE_NAME='job';

答案 1 :(得分:0)

使用SHOW CREATE TABLE tablename显示给定表的架构。这可能是LONGBLOB - 这意味着一个允许容纳4GB数据的列。它可能会说VARCHAR(100),一列最多可容纳100个字符。

要查找这些列的实际大小,您需要类似

的内容
SELECT LENGTH(col) FROM tablename;

这将提供col的字节长度列表。

问题是什么?