数据库设计:为任何一种状态做一张表?

数据库设计:为任何一种状态做一张表?,第1张

如果这种状态只有两个值可以设置一个字段为bool类型

如果状态包括多个值,但这些值不需要总变化,可以考虑用枚举类型

如果状态包括多个值,且需要经常添加或删除,可考虑创建一个新的表,与主表关联

1. 查看数据库的索引空间大小

在MySQL Workbench中运行以下SQL语句:

— 以GB为单位

SELECT

CONCAT(ROUND(SUM(index_length)/(1024*1024*1024), 6), ‘ GB’) AS ‘Total Index Size’

FROM

information_schema.TABLES

WHERE

table_schema LIKE ‘database’

— 以MB为单位

SELECT

CONCAT(ROUND(SUM(index_length)/(1024*1024), 6), ‘ MB’) AS ‘Total Index Size’

FROM

information_schema.TABLES

WHERE

table_schema LIKE ‘database’

其中,database是待查看数据库的名称,例如:lsqdb%。运行结果如下图所示:

2. 查看数据库的数据空间大小

在MySQL Workbench中运行以下SQL语句:

— 以GB为单位

SELECT

CONCAT(ROUND(SUM(data_length)/(1024*1024*1024), 6), ‘ GB’) AS ‘Total Data Size’

FROM

information_schema.TABLES

WHERE

table_schema LIKE ‘database’

— 以MB为单位

SELECT

CONCAT(ROUND(SUM(data_length)/(1024*1024), 6), ‘ MB’) AS ‘Total Data Size’

FROM

information_schema.TABLES

WHERE

table_schema LIKE ‘database’

其中,database是待查看数据库的名称,例如:lsqdb%。运行结果如下图所示:

3. 查看数据库中所有表的信息

在MySQL Workbench中运行以下SQL语句,查看数据库中所有表的表名、表行数、数据空间大小、索引空间大小和总大小:

SELECT

CONCAT(table_schema,’.’,table_name) AS ‘Table Name’,

table_rows AS ‘Number of Rows’,

CONCAT(ROUND(data_length/(1024*1024),6),’ MB’) AS ‘Data Size’,

CONCAT(ROUND(index_length/(1024*1024),6),’ MB’) AS ‘Index Size’,

CONCAT(ROUND((data_length+index_length)/(1024*1024),6),’ MB’) AS’Total Size’

FROM

information_schema.TABLES

WHERE

table_schema LIKE ‘database’

其中,database是待查看数据库的名称,例如:lsqdb%。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/10043989.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存