浅谈MySQL中优化表功能的详细说明
通过制作原始表的临时副本来优化表工作
优化表的语法
优化地方no_write_to_binlog } {表tbl_name | { tbl_name }…
如果您已经删除了表中的很大一部分,或者如果你已经包含可变长度列表的许多变化(含VARCHAR,BLOB或文本列表),优化表应该使用。删除的记录保存在链表的插入操作,并随后利用旧的记录位置,你可以使用优化表利用未使用的空间和整理数据文件的碎片。
在大多数情况下,您根本不必运行优化表,即使您更新了可变长度行,也不需要定期运行,每周一次或每月一次,只在特定表上运行。
优化表只对MyISAM和InnoDB表,BDB。
对于MyISAM表,表的优化操作如下:
1。如果表已被删除或分解,则表将被修复。
2。如果索引页没有分类,则将它们分类。
三.如果表的统计数据没有更新(并且不能通过索引的分类来修复),它将被更新。
对于BDB表、优化表现在映射到表的分析。对于InnoDB表、优化表映射到表中,重建表。重建术可以更新索引统计和聚类指标释放未使用的空间。请看13.5.2.1部分,分析表的语法。
使用跳跃新的或安全模式选项启动mysqld。启动mysqld,你可以优化其他类型表工作表。
请注意,在优化表运行中,MySQL锁定表。
优化表的语句写入二进制日志,除非选择no_write_to_binlog关键词(或其别名的地方)使用。这样做,故作用优化MySQL服务器表命令相当于复制主服务器。默认情况下,这些命令将被复制到与复制相关的服务器上。