文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>细化解析:带你快速了解MyISAM启动选项

细化解析:带你快速了解MyISAM启动选项

时间:2008-04-01  来源:剑心通明

 

下列对mysqld 的选项可用来改变MyISAM表的行为:

·--myisam-recover=mode

设置为崩溃MyISAM表自动恢复的模式。

·--delay-key-write=ALL

对任何MyISAM表的写操作之间不要刷新键缓冲区。

注释:如果你要这么做。当表在使用中之时,你应该不使用来自另一个程序的MyISAM表(比如从另一个MySQL服务器或用myisamchk)。这么做会导致索引被破坏。

对使用--delay-key-write的表,使用--external-locking没有帮助。

列系统变量影响MyISAM表的行为:

·bulk_insert_buffer_size

用在块插入优化中的树缓冲区的大小。注释:这是一个per thread的限制。

·(OBSOLETE) myisam_max_extra_sort_file_size

这个参数已经不在MySQL中使用。

·myisam_max_sort_file_size

如果临时文件会变得超过索引,不要使用快速排序索引方法来创建一个索引。注释:这个参数以字节的形式给出。

·myisam_sort_buffer_size

设置恢复表之时使用的缓冲区的尺寸。

如果用--myisam-recover选项启动mysqld,自动恢复被激活。在这种情况下,当服务器打开一个MyISAM表之时,服务器会检查是否表被标注为崩溃,或者表的打开计数变量是否不为0且你正用--skip-external-locking运行服务器。如果这些条件的任何一个为真,下列情况发生:

·表被查错。

·如果服务器发现一个错误,它试着做快速表修复(排序且不重新创建数据文件)。

·如果修复因为数据文件中的一个错误而失败(例如,一个重复键错误),服务器会再次尝试修复,这一次重建数据文件。

· 如果修复仍然失败,服务器用旧修复选项方法再重试一次修复(一行接一行地写,不排序)。这个方法应该能修复任何类型的错误,并且需要很低的磁盘空间。

如果恢复不能够从先前完成的语句里恢复所有行,而且你不能在--myisam-recover选项值指定FORCE,自动修复会终止,并在错误日志里写一条错误信息:

Error: Couldn't repair table: test.g00pages

如果你指定FORCE,取而代之地,类似这样的一个警告被给出:

Warning: Found 344 of 354 rows when repairing ./test/g00pages

注释:如果自动恢复值包括BACKUP,恢复进程创建文件并用tbl_name-datetime.BAK形式取名。你应该有一个cron脚本,它自动把这些文件从数据库目录移到备份媒质上。(责任编辑:卢兆林)

相关阅读 更多 +
排行榜 更多 +
找茬脑洞的世界安卓版

找茬脑洞的世界安卓版

休闲益智 下载
滑板英雄跑酷2手游

滑板英雄跑酷2手游

休闲益智 下载
披萨对对看下载

披萨对对看下载

休闲益智 下载