`
san_yun
  • 浏览: 2664001 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

通过mysql optimize table优化表性能

 
阅读更多

最近运营一直反馈后台审核页面很慢,我看了一下是分页慢导致的。这个表有300多万条数据,给后台用,count要5秒太慢了。

select count(*) from ck_album_status  where album_status = 'new';

mysql> explain select count(*) from ck_album_status  where album_status = 'new';
+----+-------------+-----------------+------+------------------------------+--------------+---------+-------+---------+--------------------------+
| id | select_type | table           | type | possible_keys                | key          | key_len | ref   | rows    | Extra                    |
+----+-------------+-----------------+------+------------------------------+--------------+---------+-------+---------+--------------------------+
|  1 | SIMPLE      | ck_album_status | ref  | idx_alb_stat,idx_alb_stat_id | idx_alb_stat | 98      | const | 1384320 | Using where; Using index |
+----+-------------+-----------------+------+------------------------------+--------------+---------+-------+---------+--------------------------+
1 row in set (0.01 sec)

  KEY `idx_alb_stat` (`album_status`) USING BTREE,

 

删掉这个表的数据到20万以下还是很慢



 但奇怪的是发现data_length还是300多万,通过mysql optimize试试。果然好了:

 

  • 大小: 118.2 KB
  • 大小: 133.3 KB
分享到:
评论

相关推荐

    mysql下优化表和修复表命令使用说明(REPAIR TABLE和OPTIMIZE TABLE)

    执行优化的步骤与修复表类似,先登录MySQL命令行,选择要操作的数据库,然后执行 `# OPTIMIZE TABLE `table_name``。 值得注意的是,`OPTIMIZE TABLE` 对于InnoDB存储引擎的表,实际上并不重新组织磁盘上的数据,...

    探讨Mysql中OPTIMIZE TABLE的作用详解

    MySQL中的`OPTIMIZE TABLE`命令是一个非常实用的数据库维护工具,主要用于优化和整理数据库表,尤其是在大量数据操作之后。此命令的主要目标是提高查询性能、减少磁盘空间占用以及更新表统计信息。以下是对`OPTIMIZE...

    MySQL性能优化中文手册

    MySQL性能优化是数据库管理员和开发人员的关键技能,它涉及到如何有效地使用SQL语句、存储过程和函数,以提高数据查询速度和系统整体效率。本手册将深入探讨这些关键领域,帮助你理解并实施最佳实践。 在SQL语句...

    MySQL 中如何优化表释放表空间

    `OPTIMIZE TABLE` 是MySQL中一个常用的命令,用于对表进行优化,包括重组数据、更新统计信息和释放不再使用的空间。当执行这个命令时,MySQL会重新组织表的数据文件,删除碎片,使数据存储更紧凑。这在删除大量数据...

    实现MySQL定时批量检查表repair和优化表optimize table的shell脚本

    本文介绍mysql定时批量检查表repair和优化表optimize table的shell脚本,对于MySQL数据库的定期维护相当有用!如下所示: #!/bin/bash host_name=192.168.0.123 user_name=jincon.com user_pwd=jincon.com database...

    mysql优化笔记+资料

    1. 定期分析和优化表(ANALYZE TABLE和OPTIMIZE TABLE)以更新统计信息和物理结构。 2. 清理不再使用的旧数据,避免数据膨胀。 3. 监控数据库性能,使用工具如MySQL Performance Schema或Percona Toolkit进行诊断。 ...

    Mysql数据库性能优化

    - 定期分析和优化表(`ANALYZE TABLE` 和 `OPTIMIZE TABLE`),更新统计信息以帮助优化器做出更好的决策。 - 使用慢查询日志追踪并优化慢查询。 - 对于高并发场景,考虑使用分区表来分散负载。 总之,MySQL...

    MySQL性能优化诊断脚本

    5. **表维护**:脚本还会检查表的碎片情况,建议进行OPTIMIZE TABLE操作以减少存储空间的浪费,提高查询效率。 6. **权限与安全**:虽然这不是性能优化的直接方面,但脚本也会检查数据库的用户权限设置,确保安全性...

    MySQL 5.5.8 分区表性能测试

    3. **维护操作**:MySQL 5.5.8还增强了对分区表的维护功能,例如ALTER TABLE和OPTIMIZE TABLE命令可以更快地完成对分区表的重构和优化。这对于数据量庞大的系统来说尤其关键,因为它允许在不影响业务运行的情况下...

    大牛讲解的MySQL介绍及性能优化 PPT

    此外,定期进行分析和维护,如分析表统计信息,执行OPTIMIZE TABLE命令,也是保持数据库高效运行的关键步骤。 在MySQL技巧分享部分,可能涉及一些高级话题,如视图的使用来简化复杂查询,存储过程和触发器的创建以...

    mysql性能优化视频教程

    - **定期优化表**:使用`OPTIMIZE TABLE`命令来整理表空间并重建索引。 3. **服务器配置优化**: - **内存管理**:合理设置缓冲池大小(`innodb_buffer_pool_size`)等参数。 - **并发控制**:根据系统硬件调整...

    MySQL性能优化的最佳21条经验

    7. **定期分析与维护**:使用ANALYZE TABLE更新统计信息,OPTIMIZE TABLE整理碎片,保持表的健康状态。 8. **合理分库分表**:通过垂直分割或水平分割,分散数据和查询压力,提升系统并发能力。 9. **使用缓存**:...

    mysql介绍和性能优化

    - **定期维护数据库**:定期执行ANALYZE TABLE和OPTIMIZE TABLE命令,保持索引统计信息的准确性,减少表碎片。 - **避免SELECT ***:在查询时,只选取实际需要的列,避免使用SELECT *,可以减少数据传输量,提高查询...

    大牛-高级教程MySQL性能优化实战

    9. **定期分析与优化**:使用ANALYZE TABLE和OPTIMIZE TABLE命令定期分析和优化表,更新统计信息,确保查询优化器做出正确的决策。 10. **并发控制**:理解锁机制,如行锁、页锁和表锁,以及死锁检测与解决,对于高...

    MySQL性能优化教学视频资料.zip

    考虑引入反规范化或物化视图来优化性能。 5. **资源管理与配置**:调整MySQL服务器的配置参数,例如缓冲池大小、最大连接数、线程缓存等,可以有效利用硬件资源。定期监控系统资源使用情况,及时调整参数以应对业务...

    mysql性能优化

    16. **定期分析与优化表**:运行`ANALYZE TABLE`和`OPTIMIZE TABLE`命令,以更新统计信息和物理组织。 17. **硬件升级**:提升服务器硬件配置,如增加内存、使用SSD硬盘等,可以显著提高MySQL性能。 18. **并发...

    MySQL介绍和优化分享

    3. 定期分析和优化表:ANALYZE TABLE和OPTIMIZE TABLE命令可更新统计信息和重构数据文件,保持数据库高效运行。 总结,MySQL性能优化是一项综合性的任务,需要结合具体业务场景,从多个角度进行考虑和实践。通过...

Global site tag (gtag.js) - Google Analytics