数据库的日常管理就是对这些问题进行预防性维护和修复。
检查和维修通常有四个主要任务:
1.优化表格。
2.分析表(分析并存储MyISAM和BDB表中键的分布)
3.检查表格(检查表格中的错误并更新MyISAM的关键统计信息)
4.修复表(修复损坏的MyISAM表)
首先,优化表格
优化表的方法有很多:OPTIMIZE TABLE语句、mysqlcheck工具(服务器正在运行)或者myisamchk(服务器没有运行或者表中没有交互)。
为什么要优化?随着MySQL的使用,包含BLOB和VARCHAR字节的表会变得更加繁琐,因为这些字段的长度不同。在插入、更新或删除记录时,会占用大小不一的空个房间,记录会变成碎片,剩下空个空闲空个房间。像有碎片的磁盘,会降低性能,需要整理,所以要优化。
1.使用OPTIMIZE语句优化表。
# mysql & gt优化表表名
这优化了表名。
2.使用mysqlcheck优化该表
MySQL可以优化,也可以执行大量的检查和修复任务。
# mysqlcheck -o数据库名称表名-uroot -p111111(一个表)
# mysqlcheck -o数据库名称表名称1表名称2 -uroot -p111111(多个表)
# mysqlcheck -o数据库名称-uroot -p111111(针对整个数据库)
3.用myisamchk优化表。
# myisamchk-快速检查-仅更改-排序-索引-分析表名
# myisamchk -r表名(参数-r表示表被修复,浪费的空空间也被删除)
# myisamchk-r/usr/local/MySQL/data/test blog/article(指定表所在的路径)
上述操作需要在服务器关闭或不与服务器互操作时完成。您可以使用myisamchk命令行工具(如果服务器正在运行,则在运行此语句之前使用mysqladmin flush-tables刷新表。确保服务器不与表进行互操作,否则会失败)。Myisamchk是最古老的方法。Myisamchk必须在正确的位置运行,或者指定表所在的路径。
注意:优化过程中,表会被锁定,忙的时候不要优化。同样,你需要有足够的空来优化TABLE table。如果没有disk 空,MySQL不会被优化,表也不会被使用。
优化是包含MyISAM表的数据库日常管理中的一个重要环节,应该定期进行。
第二,分析表格。
定期分析表可以提高性能,应该成为日常维护的一部分。因为通过更新表的索引信息来分析表,可以提高数据库性能。
有三种分析表格的方法:
1.连接MySQL时,使用ANALYZE TABLE语句。
2.使用mysqlcheck命令行工具(服务器需要运行并且只在MyISAM表上工作)
3.利用myisamchk命令行工具(服务器不应运行,否则无法与所操作的表进行互操作)
#分析表表名;
# MySQL check-一个数据库名称表名-uroot-p11111
# mysqlcheck -a数据库名称表名1表名2 -uroot -p111111
如果您试图分析一个不支持分析操作的表(比如InnoDB),操作将会失败。
# myisamchk-a/usr/local/MySQL/data/database/table name
关键词:mysql表优化
优侠库网站每天提供最新最热门的安卓手机软件、游戏下载、分享热门手游资讯攻略教程、手机软件教程步骤,专注安卓手机游戏软件下载。本文链接:http://www.123down.cn/gonglue/227363.html