首页 > 编程知识 正文

mysql优化的几种方法,mysql数据库安装步骤

时间:2023-05-04 06:56:11 阅读:50524 作者:2001

最近,当您学习如何优化mysql数据库时,您发现在删除库中的大量数据后,数据库文件的大小并没有减少。 这是因为删除数据后剩下数据的碎片。 在中,如何优化数据库需要使用optimize来优化表,从而减少空间并提高I/O性能。

命令

优化表表名

注意: InnoDB、MyISAM和BDB的optimize命令支持mysql存储引擎。

以下是从网上摘录的:

优化表通过创建原始表的临时副本来工作

优化表语法

optimize [ local|no _ write _ to _ binlog ] table TBL _ name [,tbl_name] .

如果删除了大部分表,或者对包含可变长度行(包括VARCHAR、BLOB或TEXT列)的表进行了许多更改,则必须使用优化表。 删除的记录将保留在链接列表中,并在随后的INSERT操作中重用旧记录的位置。 使用OPTIMIZE TABLE,您可以回收未使用的空间,并组织数据文件的碎片。

大多数设置不需要运行优化表。 大幅更新可变长度的进度并不需要频繁执行。 可以每周一次或每月一次,只对特定的表运行。

OPTIMIZE TABLE仅适用于MyISAM、BDB和InnoDB表。

对于MyISAM表,优化表的工作方式如下:

1 .如果表已删除或分解,请修复表。

2 .索引页面未分类的,进行分类。

3 .如果表中的统计数据未更新(并且无法通过对索引进行分类进行修复)。

对于BDB表,优化表当前映射到分析表。 对于InnoDB表,优化表映射到alter表并重建表。 重建操作更新索引统计信息并释放集群索引中的未使用空间。

可以使用—skip-new或—safe-mode选项启动mysqld。 启动mysqld后,可以使优化表对其他表类型起作用。

请注意,在优化表运行期间,MySQL会锁定表。

除非使用任何NO_WRITE_TO_BINLOG关键字或其别名LOCAL,否则OPTIMIZE TABLE语句会写入二进制日志。 这将使MySQL服务器的OPTIMIZE TABLE命令充当复制主服务器,并在缺省情况下复制到复制服务器。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。