MySQL中查询数据库占用磁盘空间大小和单个库中所有表的大小的sql语句

 

MySQL中查询所有数据库占用磁盘空间大小和单个库中所有表的大小的sql语句

查询所有数据库占用磁盘空间大小的SQL语句:

select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2),' MB') as data_size,
concat(truncate(sum(index_length)/1024/1024,2),'MB') as index_size
from information_schema.tables
group by TABLE_SCHEMA
order by data_length desc;

 

查询单个库中所有表磁盘占用大小的SQL语句:

select TABLE_NAME, concat(truncate(data_length/1024/1024,2),' MB') as data_size,
concat(truncate(index_length/1024/1024,2),' MB') as index_size
from information_schema.tables where TABLE_SCHEMA = 'TestDB'
group by TABLE_NAME
order by data_length desc;

注意替换以上的TestDB为具体的数据库名

用SQL命令查看Mysql数据库大小

要想知道每个数据库的大小的话,步骤如下:

1、进入information_schema 数据库(存放了其他的数据库的信息)
use information_schema;

2、查询所有数据的大小:
select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables;

3、查看指定数据库的大小:
比如查看数据库home的大小
select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables where table_schema='home';

4、查看指定数据库的某个表的大小
比如查看数据库home中 members 表的大小
select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables where table_schema='home' and table_name='members';

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SQL查询语句优化的主要目标是提高数据库查询性能、减少响应时间以及降低系统资源消耗。有多种策略和技术可以用于优化SQL查询: ### 1. **索引优化** - **创建索引**:对于频繁搜索、排序或分组的列创建索引能显著提升查询速度。索引就像书的目录,帮助快速定位所需数据。 - **选择合适的索引**:考虑哪些查询最常见,优先为此类查询的关键列建立索引。 - **避免全扫描**:尽量通过索引来限制结果集大小,减少全扫描的情况。 ### 2. **查询结构优化** - **减少JOIN操作的数量和复杂度**:尽量将JOIN操作减至最少,并尽可能使用效率更高的JOIN类型(如INNER JOIN)。 - **使用EXISTS替代IN**:当查询条件包含多个值并且这些值来自另一个查询的结果时,使用 EXISTS 比 IN 更高效。 - **避免SELECT * 达式**:明确指定需要的列而不是使用“*”,这有助于数据库更好地执行计划并减少I/O操作。 ### 3. **存储引擎选择和调整** - **选择适合的应用场景的存储引擎**:例如,InnoDB支持事务处理和外键约束,而MyISAM适用于读密集型应用。 - **调整缓冲池大小**:合理设置缓冲池大小可以帮助缓存数据和索引,减少磁盘访问次数。 ### 4. **分区技术** - **垂直分区**:按照字段的不同特性进行分区,比如日期、地区等,以便更有效地处理特定类型的查询。 - **水平分区**:针对大型,基于某个属性对数据进行切割,允许在单个上进行更有效的并行操作。 ### 5. **查询参数化和预编译** - 使用参数化查询可以防止SQL注入攻击,并且在多次执行相同查询时,预编译的查询语句可以更快地准备和执行。 ### 6. **定期维护和监控** - 定期运行分析工具(如MySQL的ANALYZE TABLE),更新统计信息,帮助查询优化器做出更好的决策。 - 监控数据库性能指标,如查询执行时间、资源使用情况等,及时发现和解决瓶颈问题。 ### 7. **避免不必要的连接和计算** - 尽量在数据库层面完成聚合和过滤操作,避免在应用程序层过多的处理和计算,减轻服务器压力。 ### 相关问题: 1. 如何判断SQL查询是否有效率低下? 2. SQL优化的最佳实践有哪些步骤? 3. 数据库性能下降时应从何处着手排查问题?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值