以下选项mysqld.可用于改变行为myisam.
表。有关其他信息,请参阅第5.1.6节“服务器命令选项”。
表15.3 MyISAM选项和可变参考
名称 | Cmd-Line | 选项文件 | 系统var. | 状态var. | var范围 | 动态 |
---|---|---|---|---|---|---|
bulk_insert_buffer_size. | 是的 | 是的 | 是的 | 这两个 | 是的 | |
concurrent_insert. | 是的 | 是的 | 是的 | 全球的 | 是的 | |
delay_key_write. | 是的 | 是的 | 是的 | 全球的 | 是的 | |
have_rtree_keys | 是的 | 全球的 | 没有 | |||
key_buffer_size. | 是的 | 是的 | 是的 | 全球的 | 是的 | |
log-isam. | 是的 | 是的 | ||||
Myisam-块大小 | 是的 | 是的 | ||||
myisam_data_pointer_size. | 是的 | 是的 | 是的 | 全球的 | 是的 | |
myisam_max_sort_file_size. | 是的 | 是的 | 是的 | 全球的 | 是的 | |
myisam_mmap_size | 是的 | 是的 | 是的 | 全球的 | 没有 | |
myisam_recover_options | 是的 | 是的 | 是的 | 全球的 | 没有 | |
myisam_repair_threads. | 是的 | 是的 | 是的 | 这两个 | 是的 | |
myisam_sort_buffer_size | 是的 | 是的 | 是的 | 这两个 | 是的 | |
myisam_stats_method. | 是的 | 是的 | 是的 | 这两个 | 是的 | |
myisam_use_mmap | 是的 | 是的 | 是的 | 全球的 | 是的 | |
tmp_table_size. | 是的 | 是的 | 是的 | 这两个 | 是的 |
以下系统变量会影响行为myisam.
表。有关其他信息,请参阅第5.1.7节,“服务器系统变量”。
批量插入优化中使用的树缓存大小。
笔记这是一个限制每个线程!!
不要在写入之间刷新密钥缓冲区
myisam.
桌子。笔记如果你这样做,你不应该访问
myisam.
来自另一个程序的表(例如来自另一个MySQL服务器或使用myisamchk.)当表中使用时。这样做的风险指数腐败。使用——外部锁
不会消除这种风险。允许MySQL允许在重新创建A时使用的临时文件的最大大小
myisam.
索引(期间修复表
那改变表
, 或者加载数据
)。如果文件大小将大于此值,则使用较慢的密钥缓存创建索引。该值以字节为单位。设置崩溃的自动恢复模式
myisam.
表。设置恢复表时使用的缓冲区的大小。
如果您开始,可以激活自动恢复mysqld.与myisam_recover_options
系统变量集。在这种情况下,当服务器打开myisam.
表,它检查表格是否标记为崩溃或表的打开计数变量是否不为0,并且您正在使用禁用外部锁定的服务器。如果这些条件中的任何一个是真的,则会发生以下情况:
服务器检查表格错误。
如果服务器发现错误,它会尝试进行快速表修复(有排序和无需重新创建数据文件)。
如果修复失败,因为数据文件中的错误(例如,重复键错误),服务器再次尝试,这次重新创建数据文件。
如果修复仍然失败,服务器将再次尝试使用旧的修复选项方法(逐行写入,不进行排序)。这种方法应该能够修复任何类型的错误,并且对磁盘空间的要求很低。
如果恢复将无法从先前完成的陈述中恢复所有行,并且您未指定力量
在价值的价值myisam_recover_options
系统变量,自动修复在错误日志中使用错误消息中止:
错误:无法修复表:test.g00页
如果您指定力量
,写这样的警告是写的:
警告:修复时发现354行中的344行./test/g00页
如果自动恢复值包含备份
,恢复过程创建具有表单名称的文件
。你应该有一个cr自动将这些文件从数据库目录移动到备份媒体的脚本。tbl_name-datetime.
.bak.