英语法语西班牙语

OnWorks 网站图标

myisamchk - 云端在线

通过 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器在 OnWorks 免费托管服务提供商中运行 myisamchk

这是 myisamchk 命令,可以使用我们的多个免费在线工作站之一在 OnWorks 免费托管服务提供商中运行,例如 Ubuntu Online、Fedora Online、Windows 在线模拟器或 MAC OS 在线模拟器

程序:

您的姓名


myisamchk - MyISAM 表维护实用程序

概要


豆瓣 [选项] 表名 ...

商品描述


豆瓣 实用程序获取有关您的数据库表或检查、修复或
优化它们。 豆瓣 适用于 MyISAM 表(具有 .MYD 和 .MYI 文件的表
用于存储数据和索引)。

您还可以使用 CHECK TABLE 和 REPAIR TABLE 语句来检查和修复 MyISAM
表。 请参见第 13.7.2.2 节,“检查表语法”和第 13.7.2.5 节,“修复表
句法”。

指某东西的用途 豆瓣 不支持分区表。

注意:
最好在进行表修复操作之前对表进行备份;
在某些情况下,该操作可能会导致数据丢失。 可能的原因包括
但不限于文件系统错误。

调用 豆瓣 喜欢这个:

外壳> 豆瓣 [选项] 表名 ...

选项 指定你想要的 豆瓣 去做。 它们在下面描述
部分。 您还可以通过调用获取选项列表 豆瓣 - 帮帮我.

没有选择, 豆瓣 只需检查您的表作为默认操作。 获得更多
信息或告诉 豆瓣 要采取纠正措施,请按照描述指定选项
在下面的讨论中。

表名 是您要检查或修复的数据库表。 如果你跑 豆瓣 某处
除了在数据库目录中,您必须指定数据库目录的路径,
因为 豆瓣 不知道数据库在哪里。 实际上, 豆瓣 才不是
实际上关心您正在处理的文件是否位于数据库目录中。
您可以将与数据库表对应的文件复制到其他位置并
在那里对它们执行恢复操作。

您可以命名多个表 豆瓣 如果您愿意,可以使用命令行。 你也可以
通过命名表的索引文件(带有 .MYI 后缀的文件)来指定表。 这使您能够
使用模式 *.MYI 指定目录中的所有表。 例如,如果你是
在数据库目录中,您可以像这样检查该目录中的所有 MyISAM 表:

外壳> 豆瓣 *。我的我

如果您不在数据库目录中,则可以通过指定来检查那里的所有表
目录的路径:

外壳> 豆瓣 /路径/到/database_dir/*。我的我

您甚至可以通过指定带有路径的通配符来检查所有数据库中的所有表
MySQL数据目录:

外壳> 豆瓣 /路径/到/datadir/*/*。我的我

快速检查所有 MyISAM 表的推荐方法是:

外壳> 豆瓣 - 沉默的 - 快速地 /路径/到/datadir/*/*。我的我

如果要检查所有 MyISAM 表并修复任何损坏的表,可以使用
以下命令:

外壳> 豆瓣 - 沉默的 - 力量 - 快速地 --更新状态 \
--key_buffer_size=64M --myisam_sort_buffer_size=64M \
--read_buffer_size=1M --write_buffer_size=1M \
/路径/到/datadir/*/*。我的我

此命令假定您有超过 64MB 的可用空间。 有关内存的更多信息
分配与 豆瓣,请参阅“MYISAMCHK 内存使用”一节。

有关使用的其他信息 豆瓣,请参阅第 7.6 节,“MyISAM 表
维护和故障恢复”。

重要
必须 确保 没有 other 程序 is 运用 旨在 运行
豆瓣. 这样做的最有效方法是关闭 MySQL 服务器,同时
运行 豆瓣, 或锁定所有表 豆瓣 正在使用。

否则,当你运行 豆瓣,它可能会显示以下错误消息:

警告:客户正在使用或没有正确关闭表格

这意味着您正在尝试检查已被另一个表更新的表
程序(如 mysqld的 服务器)尚未关闭文件或已死亡
没有正确关闭文件,这有时会导致文件损坏
或更多 MyISAM 表。

If mysqld的 正在运行,您必须强制它刷新任何表修改
仍然使用 FLUSH TABLES 缓冲在内存中。 然后你应该确保没有人
在跑步时使用表格 豆瓣

但是,避免此问题的最简单方法是使用 CHECK TABLE 而不是
豆瓣 检查表。 见第 13.7.2.2 节,“检查表语法”。

豆瓣 支持以下选项,可以在命令行或在
选项文件的 [myisamchk] 组。 有关 MySQL 使用的选项文件的信息
程序,请参见第 4.2.6 节 “使用选项文件”。

香港 一般 配置


本节中描述的选项可用于任何类型的表维护
执行的操作 豆瓣. 本节后面的部分描述了以下选项
仅与特定操作有关,例如表检查或修复。

· - 帮帮我, -?

显示帮助消息并退出。 选项按操作类型分组。

· - 帮助, -H

显示帮助消息并退出。 选项显示在一个列表中。

· --调试=调试选项, -# 调试选项

写调试日志。 一个典型的 调试选项 字符串是 d:t:o,FILE_NAME。 默认值
是 d:t:o,/tmp/myisamchk.trace。

· --defaults-额外文件=FILE_NAME

在全局选项文件之后但(在 Unix 上)在用户之前读取此选项文件
选项文件。 如果文件不存在或无法访问,则会发生错误。
FILE_NAME 如果作为相对路径给出,则相对于当前目录进行解释
名而不是完整的路径名。

· --默认文件=FILE_NAME

仅使用给定的选项文件。 如果文件不存在或不存在
无法访问,发生错误。 FILE_NAME 相对于当前解释
directory 如果作为相对路径名而不是完整路径名给出。

· --defaults-组后缀=STR

不仅要阅读常用的选项组,还要阅读具有常用名称和
的后缀 STR。 例如, 豆瓣 通常读取 [myisamchk] 组。 如果
--defaults-group-suffix=_other 给出了选项, 豆瓣 还读
[myisamchk_other] 组。

· --无默认值

不要阅读任何选项文件。 如果由于读取未知选项导致程序启动失败
从选项文件, --无默认值 可用于防止它们被读取。

例外情况是 .mylogin.cnf 文件(如果存在)在所有情况下都会被读取。 这个
允许以比在命令行上更安全的方式指定密码,即使在
--无默认值 用来。 (.mylogin.cnf 是由 mysql_config_editor 效用。
参见 mysql_config_editor(1)。)

· --打印默认值

打印程序名称和它从选项文件中获取的所有选项。

· - 沉默的, -s

静音模式。 仅在发生错误时写入输出。 您可以使用 -s 两次(-SS)使
豆瓣 很沉默。

· --详细, -v

详细模式。 打印有关程序功能的更多信息。 这个可以用
- -d-e。 使用 -v 多次 (-vv, -vvv) 以获得更多输出。

· - 版, -V

显示版本信息并退出。

· - 等待, -w

如果表被锁定,不要以错误终止,而是等到表被锁定
在继续之前解锁。 如果你正在跑步 mysqld的 禁用外部锁定,
桌子只能被另一个人锁定 豆瓣 命令。

您还可以使用以下变量设置 --var_name=折扣值 句法:

┌──────────────────────────┬────────────────────┐
变量默认
├──────────────────────────┼───────────────────┤
│解码位 │ 9 │
├──────────────────────────┼───────────────────┤
│ft_max_word_len │ 版本相关 │
├──────────────────────────┼───────────────────┤
│ft_min_word_len │ 4 │
├──────────────────────────┼───────────────────┤
│ft_stopword_file │ 内置列表│
├──────────────────────────┼───────────────────┤
│key_buffer_size │ 523264 │
├──────────────────────────┼───────────────────┤
│myisam_block_size │ 1024 │
├──────────────────────────┼───────────────────┤
│myisam_sort_key_blocks │ 16 │
├──────────────────────────┼───────────────────┤
│read_buffer_size │262136 │
├──────────────────────────┼───────────────────┤
│sort_buffer_size │ 2097144 │
├──────────────────────────┼───────────────────┤
│sort_key_blocks │ 16 │
├──────────────────────────┼───────────────────┤
│stats_method │ nulls_unequal │
├──────────────────────────┼───────────────────┤
│write_buffer_size │262136 │
└────────────────────────┴────────────────────┘

可能的 豆瓣 变量及其默认值可以检查 豆瓣
- 帮帮我:

sort_buffer_size 是用排序key修复key时使用的,属于正常
使用时的情况 - 恢复. 从 MySQL 5.6.9 开始, myisam_sort_buffer_size 可用作
sort_buffer_size 的替代名称。 myisam_sort_buffer_size 优于
sort_buffer_size 因为它的名字对应于 myisam_sort_buffer_size 服务器系统
具有相似含义的变量。 sort_buffer_size 应被视为已弃用。

当您检查表时使用 key_buffer_size --扩展检查 或当
通过将键逐行插入表中来修复键(就像在正常情况下一样
插入)。 通过密钥缓冲区修复用于以下情况:

· 你用 --安全恢复.

· 对键进行排序所需的临时文件将是以前的两倍多
直接创建密钥文件。 当您有很大的键值时,通常会出现这种情况
对于 CHAR、VARCHAR 或 TEXT 列,因为排序操作需要存储
随着它的进行,完成关键值。 如果你有很多临时空间,你可以
豆瓣 通过排序修复,您可以使用 --排序恢复 选项。

通过键缓冲区修复比使用排序占用更少的磁盘空间,但是
也慢得多。

如果你想要更快的修复,设置 key_buffer_size 和 myisam_sort_buffer_size 变量
大约 25% 的可用内存。 您可以将两个变量都设置为大值,因为
一次只使用其中之一。

myisam_block_size 是用于索引块的大小。

stats_method 影响索引统计信息收集时如何处理 NULL 值
- 分析 给出了选项。 它的作用类似于 myisam_stats_method 系统变量。 为了
更多信息,请参见第 5.1.4 节“服务器”中 myisam_stats_method 的描述
System Variables”和第 8.3.7 节,“InnoDB 和 MyISAM 索引统计信息收集”。

ft_min_word_len 和 ft_max_word_len 表示最小和最大字长
MyISAM 表上的 FULLTEXT 索引。 ft_stopword_file 命名停用词文件。 这些需要
在以下情况下设置。

如果你使用 豆瓣 执行修改表索引的操作(例如修复
或分析),使用默认的全文参数值重建 FULLTEXT 索引
对于最小和最大字长以及停用词文件,除非您另行指定。
这可能会导致查询失败。

出现问题的原因是这些参数只有服务器知道。 他们不是
存储在 MyISAM 索引文件中。 如果您修改了最小值或
服务器中的最大字长或停用词文件,指定相同的ft_min_word_len,
ft_max_word_len 和 ft_stopword_file 值 豆瓣 你用于 mysqld的。 对于
例如,如果您将最小字长设置为 3,则可以使用以下命令修复表
豆瓣 喜欢这个:

外壳> 豆瓣 - 恢复 --ft_min_word_len=3 表名。我的我

为了确保 豆瓣 并且服务器对全文参数使用相同的值,您
可以将每个都放在选项文件的 [mysqld] 和 [myisamchk] 部分中:

的[mysqld]
ft_min_word_len=3
[myisamchk]
ft_min_word_len=3

使用的替代方法 豆瓣 是使用REPAIR TABLE、ANALYZE TABLE、OPTIMIZE
表,或更改表。 这些语句由服务器执行,它知道
要使用的正确全文参数值。

香港 查看 配置


豆瓣 支持以下表检查操作选项:

· - 查看, -c

检查表格是否有错误。 如果未指定选项,则这是默认操作
显式选择操作类型。

· --仅检查更改, -C

仅检查自上次检查以来已更改的表。

· --扩展检查, -e

非常彻底地检查表。 如果表有很多索引,这会很慢。
此选项仅应在极端情况下使用。 一般, 豆瓣 or 豆瓣
--中等检查 应该能够判断表中是否有错误。

如果您在使用 --扩展检查 并有足够的内存,设置 key_buffer_size
将变量设置为较大的值有助于修复操作运行得更快。

另请参阅表修复选项下此选项的说明。

有关输出格式的说明,请参阅名为“OBTAINING TABLE”的部分
与 MYISAMCHK 的信息”。

· - 快速地, -F

只检查没有正确关闭的表。

· - 力量, -f

自动进行修复操作,如果 豆瓣 查找表中的任何错误。 这
修复类型与指定的相同 - 恢复 or -r 选项。

· - 信息, -i

打印有关已检查表的信息统计信息。

· --中等检查, -m

做一个比一个更快的检查 --扩展检查 手术。 这仅发现了 99.99%
所有错误,在大多数情况下应该足够好。

· - 只读, -T

不要将该表标记为已选中。 如果您使用,这很有用 豆瓣 检查表
被其他一些不使用锁定的应用程序使用,例如 mysqld的
在禁用外部锁定的情况下运行时。

· --更新状态, -U

将信息存储在 .MYI 文件中以指示何时检查表以及是否
桌子摔坏了。 这应该用于充分利用 --仅检查更改
选项,但如果 mysqld的 服务器正在使用该表和
您在禁用外部锁定的情况下运行它。

香港 维修 配置


豆瓣 支持以下表修复操作选项(执行的操作
当一个选项如 - 恢复 or --安全恢复 给出):

· --备份, -B

将 .MYD 文件备份为 FILE_NAME-.BAK文件

· --字符集目录=

安装字符集的目录。 见第 10.5 节,“字符集
配置”。

· --正确的校验和

更正表的校验和信息。

· --数据文件长度=LEN, -D LEN

数据文件的最大长度(当它“满”时重新创建数据文件时)。

· --扩展检查, -e

进行修复,尝试从数据文件中恢复每个可能的行。 一般,
这也发现了很多垃圾行。 除非您是,否则不要使用此选项
绝望的。

另请参阅表检查选项下此选项的说明。

有关输出格式的说明,请参阅名为“OBTAINING TABLE”的部分
与 MYISAMCHK 的信息”。

· - 力量, -f

覆盖旧的中间文件(名称如 表名.TMD) 而不是
流产。

· --keys-使用=VAL, -k VAL

针对 豆瓣,选项值是一个位值,指示要更新哪些索引。
选项值的每个二进制位对应一个表索引,其中第一个
索引是位 0。选项值为 0 将禁用对所有索引的更新,这可以是
用于获得更快的插入。 可以通过使用重新激活已停用的索引 豆瓣
-r.

· --无符号链接, -l

不要遵循符号链接。 一般 豆瓣 修复符号链接的表
指着。 从 MySQL 4.0 开始,此选项不存在,因为 4.0 之后的版本
在修复操作期间不要删除符号链接。

· --最大记录长度=LEN

跳过大于给定长度的行,如果 豆瓣 无法分配内存来保存
他们。

· --并行恢复, -p

使用相同的技术 -r-n,但并行创建所有密钥,使用
不同的线程。 本篇 is 测试质量 码。 使用 at 您的 风险!

· - 快的, -q

通过只修改索引文件而不是数据文件来实现更快的修复。 你可以
指定此选项两次以强制 豆瓣 修改原始数据文件以防万一
的重复键。

· - 恢复, -r

进行修复,除了不唯一的唯一键外,几乎可以解决任何问题
(这是 MyISAM 表极不可能出现的错误)。 如果你想恢复一个
表,这是首先尝试的选项。 你应该试试 --安全恢复 除非
豆瓣 报告无法使用该表恢复 - 恢复. (在不太可能
情况下 - 恢复 失败,数据文件保持完整。)

如果你有很多内存,你应该增加 myisam_sort_buffer_size 的值。

· --安全恢复, -o

使用旧的恢复方法进行修复,该方法按顺序读取所有行并
根据找到的行更新所有索引树。 这是一个数量级的慢
- 恢复,但可以处理几个非常不可能的情况 - 恢复 不能。
这种恢复方法使用的磁盘空间也比 - 恢复. 通常情况下,你
应该首先使用修复 - 恢复,然后 --安全恢复 除非 - 恢复
将失败。

如果你有很多内存,你应该增加 key_buffer_size 的值。

· --set-字符集=姓名

更改表索引使用的字符集。 该选项被替换为
--set-collat​​ion 在 MySQL 5.0.3 中。

· --set-collat​​ion=姓名

指定用于对表索引进行排序的排序规则。 字符集名称是
由归类名称的第一部分暗示。

· --排序恢复, -n

豆瓣 使用排序来解析键,即使临时文件会
非常大。

· --tmpdir=, -t

用于存储临时文件的目录路径。 如果没有设置,
豆瓣 使用 TMPDIR 环境变量的值。 --tmpdir 可以设置为
以循环方式连续用于创建的目录路径列表
临时文件。 目录名之间的分隔符是冒号(“:”)
Unix 和 Windows 上的分号 (“;”)。

· --解压, -u

打开包装的桌子 myisampack.

其他 香港 配置


豆瓣 除了表检查和修复之外,支持以下操作选项:

· - 分析, -a

分析键值的分布。 这通过启用
加入优化器以更好地选择加入表的顺序和
它应该使用的索引。 要获取有关密钥分发的信息,请使用
豆瓣 - 描述 --详细 表名 命令或 SHOW INDEX FROM 表名
语句。

· --块搜索=抵消, -b 抵消

查找给定偏移量的块所属的记录。

· - 描述, -d

打印一些关于表的描述性信息。 指定 --详细 选项
一次或两次会产生额外的信息。 请参阅名为“获取表
与 MYISAMCHK 的信息”。

· --设置自动增量[=折扣值], -一种[折扣值]

强制新记录的 AUTO_INCREMENT 编号从给定值(或更高,
如果存在具有这么大 AUTO_INCREMENT 值的现有记录)。 如果 折扣值 是不是
指定,新记录的 AUTO_INCREMENT 数字从最大值开始
目前在表中,加一。

· --排序索引, -S

按高低顺序对索引树块进行排序。 这优化了查找和制作表
使用索引的扫描速度更快。

· --排序记录=N, -R N

根据特定索引对记录进行排序。 这使您的数据更加本地化
并且可以加快使用此索引的基于范围的 SELECT 和 ORDER BY 操作。 (这
第一次使用此选项对表进行排序时,可能会很慢。)要确定一个
表的索引号,使用 SHOW INDEX,它以相同的方式显示表的索引
命令那个 豆瓣 看到他们。 索引从 1 开始编号。

如果密钥未打包(PACK_KEYS=0),则它们具有相同的长度,因此当 豆瓣
排序和移动记录,它只是覆盖索引中的记录偏移量。 如果键是
打包(PACK_KEYS=1), 豆瓣 必须先解压关键块,然后重新创建索引
并再次打包关键块。 (在这种情况下,重新创建索引比
更新每个索引的偏移量。)

获得 相关信息 香港


要获取 MyISAM 表的描述或有关它的统计信息,请使用显示的命令
这里。 本节稍后将解释这些命令的输出。

· 豆瓣 -d 表名

运行 豆瓣 在“描述模式”中生成表的描述。 如果你开始
禁用外部锁定的 MySQL 服务器, 豆瓣 可能会报告一个错误
运行时更新的表。 然而,因为 豆瓣 不会改变
表在描述模式下,没有破坏数据的风险。

· 豆瓣 -dv 表名

添加 -v 运行 豆瓣 在详细模式下,以便它产生更多的信息
桌子。 添加 -v 第二次会产生更多的信息。

· 豆瓣 -eis 表名

仅显示表格中最重要的信息。 这个操作很慢,因为
它必须读取整个表格。

· 豆瓣 -eiv 表名

就像 -eis,但会告诉您正在做什么。

表名 参数可以是 MyISAM 表的名称或其索引的名称
文件,如 豆瓣(1). 多种的 表名 可以给出参数。

假设名为 person 的表具有以下结构。 (MAX_ROWS 表选项
包括在内,以便在示例输出中 豆瓣 稍后显示,一些值是
更小,更容易适应输出格式。)

创建表人
(
id INT NOT NULL AUTO_INCRMENT,
变量(20) 非空,
名字 变量(20) 非空,
生日,
死亡日期,
主键 (id),
索引(姓氏,名字),
指数(出生)
) 最大行数 = 1000000;

还假设该表具有以下数据和索引文件大小:

-rw-rw---- 1 mysql mysql 9347072 19 月 11 日 47:XNUMX person.MYD
-rw-rw---- 1 mysql mysql 6066176 19 月 11 日 47:XNUMX person.MYI

示例 豆瓣 -dvv 输出:

MyISAM 文件:人
记录格式:打包
字符集:latin1_swedish_ci (8)
文件版本:1
创建时间:2009-08-19 16:47:41
恢复时间:2009-08-19 16:47:56
状态:已检查、已分析、已优化密钥
自动递增键:1 最后一个值:306688
数据记录:306688 删除的块:0
数据文件部分:306688 删除的数据:0
数据文件指针(字节):4 密钥文件指针(字节):3
数据文件长度:9347072 密钥文件长度:6066176
最大数据文件长度:4294967294 最大密钥文件长度:17179868159
记录长度:54
表说明:
密钥起始长度 索引类型 记录/密钥 根 块大小
1 2 4 独特的长 1 99328 1024
2 6 20 倍数。 varchar 前缀 512 3563520 1024
27 20 变量字符 512
3 48 3 倍。 uint24 NULL 306688 6065152 1024
字段起始长度 Nullpos Nullbit 类型
1 1 1
2 2 4 无零
3 6 21 变量字符
4 27 21 变量字符
5 48 3 1 1 无零
6 51 3 1 2 无零

信息类型说明 豆瓣 产品在这里给出。 “密钥文件”
指的是索引文件。 “记录”和“行”是同义词,“字段”和“列”也是同义词。

表描述的初始部分包含以下值:

· MyISAM 文件

MyISAM(索引)文件的名称。

· 记录格式

用于存储表行的格式。 前面的示例使用固定长度。 其他
可能的值是 Compressed 和 Packed。 (打包对应什么SHOW TABLE
STATUS 报告为动态。)

· 人物设定

表默认字符集。

· 文件版本

MyISAM 格式的版本。 目前总是 1。

· 创建时间

创建数据文件的时间。

· 恢复时间

上次重建索引/数据文件的时间。

· 地位

表状态标志。 可能的值是崩溃、打开、更改、分析、优化
键和排序的索引页。

· 自动递增键,最后一个值

与表的 AUTO_INCREMENT 列相关联的键号,以及最近的
为该列生成的值。 如果没有此类字段,则不会出现这些字段
列。

· 数据记录

表中的行数。

· 删除的块

有多少已删除的块仍有保留空间。 你可以优化你的表
最小化这个空间。 请参见第 7.6.4 节,“MyISAM 表优化”。

· 数据文件部分

对于动态行格式,这表示有多少个数据块。 为
没有碎片行的优化表,这与数据记录相同。

· 删除的数据

有多少字节未回收的已删除数据。 你可以优化你的表
最小化这个空间。 请参见第 7.6.4 节,“MyISAM 表优化”。

· 数据文件指针

数据文件指针的大小,以字节为单位。 它通常是 2、3、4 或 5 个字节。 最多
表用 2 个字节管理,但这还不能从 MySQL 控制。 对于固定
表,这是一个行地址。 对于动态表,这是一个字节地址。

· 密钥文件指针

索引文件指针的大小,以字节为单位。 它通常是 1、2 或 3 个字节。 最多
表用 2 个字节管理,但这是由 MySQL 自动计算的。 这是
总是一个块地址。

· 最大数据文件长度

表数据文件可以变成多长,以字节为单位。

· 最大密钥文件长度

表索引文件可以变成多长,以字节为单位。

· 记录长度

每行占用多少空间,以字节为单位。

输出的表描述部分包括表中所有键的列表。 为了
每个键, 豆瓣 显示一些低级信息:

· 钥匙

这把钥匙的号码。 此值仅针对键的第一列显示。 如果这
缺少值,该行对应于 a 的第二列或后面的列
多列键。 对于示例中显示的表,有两个表
第二个索引的描述行。 这表明它是一个多部分
索引由两部分组成。

· 开始

这部分索引在行中的何处开始。

·莱恩

索引的这一部分有多长。 对于压缩数字,这应该始终是
列的全长。 对于字符串,它可能比字符串的全长更短
索引列,因为您可以索引字符串列的前缀。 总长度
多部分键是所有键部分的 Len 值的总和。

· 指数

一个键值是否可以在索引中多次存在。 可能的值是唯一的
或乘法。 (多)。

· 类型

索引的这部分具有什么数据类型。 这是一个 MyISAM 数据类型
可能的值是打包、剥离或空的。

· 根

根索引块的地址。

· 块大小

每个索引块的大小。 默认情况下,这是 1024,但该值可能会在
从源代码构建 MySQL 时的编译时间。

· 录音/钥匙

这是优化器使用的统计值。 它告诉有多少行
此索引的每个值。 唯一索引的值始终为 1。这可能会更新
在一个表被加载(或大大改变)之后 豆瓣 -a. 如果这个没有更新
总而言之,给出了默认值 30。

输出的最后一部分提供有关每列的信息:

· 场地

列号。

· 开始

表行中列的字节位置。

· 长度

列的长度(以字节为单位)。

· Nullpos、Nullbit

对于可以为 NULL 的列,MyISAM 将 NULL 值存储为字节中的标志。 依赖
关于有多少可空列,可以有一个或多个字节用于此
目的。 Nullpos 和 Nullbit 值,如果非空,指示哪个字节和位
包含指示该列是否为 NULL 的标志。

用于存储 NULL 标志的字节的位置和数量显示在以下行中
field 1. 这就是为什么 person 表有 XNUMX 个 Field 行,即使它有
只有五列。

· 类型

数据类型。 该值可能包含以下任何描述符:

· 持续的

所有行都具有相同的值。

· 没有空间

不要存储端空间。

· 没有结束空间,not_always

不要存储末端空间,也不要对所有值进行末端空间压缩。

· 无端空,无空

不要存储端空间。 不要存储空值。

· 查表

该列已转换为 ENUM。

· 补零(N)

最重要的 N 值中的字节始终为 0 且不存储。

· 没有零

不要存储零。

· 永远为零

零值使用一位存储。

·哈夫树

与列关联的哈夫曼树的编号。

· 位

哈夫曼树中使用的位数。

如果表已被压缩,则会显示 Huff 树和 Bits 字段
myisampack。 看 myisampack(1),此信息的示例。

示例 豆瓣 -eiv 输出:

检查 MyISAM 文件:人
数据记录:306688 删除的块:0
- 检查文件大小
- 检查记录删除链
没有记录链接
- 检查密钥删除链
块大小 1024:
- 检查索引参考
- 检查数据记录参考索引:1
关键:1:使用的关键块:98% 包装:0% 最大等级:3
- 检查数据记录参考索引:2
关键:2:使用的关键块:99% 包装:97% 最大等级:3
- 检查数据记录参考索引:3
关键:3:使用的关键块:98% 包装:-14% 最大等级:3
总计:使用的关键块:98% 包装:89%
- 检查记录和索引参考
*** 地段 OF 号码 已删除 ***
记录:306688 M.recordlength:25 Packed:83%
使用的记录空间:97% 空白空间:2% 块/记录:1.00
记录块:306688 删除块:0
记录数据:7934464 删除数据:0
丢失空间:256512 链接数据:1156096
用户时间 43.08,系统时间 1.68
最大驻留集大小 0,整体驻留集大小 0
非物理页面错误 0,物理页面错误 0,交换 0
阻塞 0 输出 7,消息输入 0 输出 0,信号 0
自愿上下文切换 0,非自愿上下文切换 0
最大内存使用量:1046926 字节 (1023k)

豆瓣 -eiv 输出包括以下信息:

· 数据记录

表中的行数。

· 删除的块

有多少已删除的块仍有保留空间。 你可以优化你的表
最小化这个空间。 请参见第 7.6.4 节,“MyISAM 表优化”。

· 钥匙

钥匙号码。

· 使用的键块

使用的密钥块的百分比。 当一个表刚刚被重组时
豆瓣,这些值非常高(非常接近理论最大值)。

· 打包

MySQL 尝试打包具有公共后缀的键值。 这只能用于
CHAR 和 VARCHAR 列上的索引。 对于具有相似的长索引字符串
最左边的部分,这可以显着减少使用的空间。 在前面
例如,第二个键的长度为 40 个字节,实现了 97% 的空间减少。

· 最高等级

这个密钥的 B 树有多深。 具有长键值的大表变高
值。

· 记录

表中有多少行。

· M.记录长度

平均行长。 这是具有固定长度的表的确切行长度
行,因为所有行的长度都相同。

· 打包

MySQL 从字符串的末尾去除空格。 Packed 值表示百分比
通过这样做实现的节省。

· 使用的记录空间

使用的数据文件的百分比。

· 空的空间

未使用的数据文件的百分比。

· 块/记录

每行的平均块数(即一个分片的行由多少个链接组成
的)。 对于固定格式的表,这始终是 1.0。 该值应尽可能接近
1.0 尽可能。 如果它变得太大,您可以重新组织表。 看
第 7.6.4 节,“MyISAM 表优化”。

· 记录块

使用了多少块(链接)。 对于固定格式的表,这与
行数。

· 删除块

删除了多少块(链接)。

· 记录数据

数据文件中使用了多少字节。

· 删除的数据

数据文件中有多少字节被删除(未使用)。

· 丢失空间

如果将一行更新为较短的长度,则会丢失一些空间。 这是所有的总和
这种损失,以字节为单位。

·链接数据

当使用动态表格式时,行片段用指针(4 到 7
每个字节)。 Linkdata 是所有此类指针使用的存储量的总和。

香港 记忆 用法


运行时内存分配很重要 豆瓣. 豆瓣 使用的内存不超过
其内存相关变量设置为。 如果你要使用 豆瓣 在非常大
表,您应该首先决定要使用多少内存。 默认是使用
仅约 3MB 即可进行维修。 通过使用更大的值,你可以得到 豆瓣
操作更快。 例如,如果您有超过 512MB 的可用 RAM,您可以使用
这些选项(除了您可能指定的任何其他选项):

外壳> 豆瓣 --myisam_sort_buffer_size=256M \
--key_buffer_size=512M \
--read_buffer_size=64M \
--write_buffer_size=64M ...

运用 --myisam_sort_buffer_size=16M 对于大多数情况可能已经足够了。

意识到 豆瓣 使用 TMPDIR 中的临时文件。 如果 TMPDIR 指向一个内存文件
系统,很容易发生内存不足错误。 如果发生这种情况,请运行 豆瓣
--tmpdir= 选项指定位于具有更多空间的文件系统上的目录。

在进行维修操作时, 豆瓣 还需要大量磁盘空间:

·两倍大小的数据文件(原始文件和副本)。 这个空间不是
如果您进行维修,则需要 - 快的; 在这种情况下,只有索引文件是
重新创建。 本篇 空间 必须 be 可使用 on 文件 系统 as 原版的 data
文件,因为副本创建在与原始目录相同的目录中。

· 用于替换旧索引文件的新索引文件的空间。 旧的索引文件是
在修复操作开始时被截断,所以你通常会忽略这个空间。 这个
空间必须与原始数据文件位于同一文件系统上。

·使用时 - 恢复 or --排序恢复 (但不是在使用时 --安全恢复), 你需要
用于排序的磁盘空间。 这个空间分配在临时目录中
(由 TMPDIR 指定或 --tmpdir=)。 下面的公式产生的数量
需要空间:

(最大的密钥 + 行指针长度)* 行数 * 2

您可以检查密钥的长度和 行指针长度 - 豆瓣 -dv
表名 (请参阅名为“使用 MYISAMCHK 获取表信息”的部分)。 这
行指针长度行数 值是数据文件指针和数据记录
表描述中的值。 为了确定 最大的密钥 值,检查密钥
表描述中的行。 Len 列表示每个字节的字节数
关键部分。 对于多列索引,键大小是 Len 值的总和
所有关键部件。

如果修复过程中出现磁盘空间问题,可以尝试 --安全恢复 而不是
- 恢复.

版权


版权所有 © 1997、2014,Oracle 和/或其附属公司。 版权所有。

本文档是免费软件; 您只能在以下情况下重新分发和/或修改它
自由软件基金会发布的 GNU 通用公共许可证的条款;
许可证的第 2 版。

分发此文档是希望它有用,但没有任何内容
保修单; 甚至没有对特定商品的适销性或适用性的暗示保证
目的。 有关更多详细信息,请参阅 GNU 通用公共许可证。

您应该已经收到一份 GNU 通用公共许可证以及程序;
如果没有,请写信给 Free Software Foundation, Inc.,51 Franklin Street, Fifth Floor,
波士顿, MA 02110-1301 美国或见 http://www.gnu.org/licenses/.

使用 onworks.net 服务在线使用 myisamchk


免费服务器和工作站

下载 Windows 和 Linux 应用程序

Linux 命令

Ad