MySQL数据库DELAY_KEY_WRITE的认识

MySQL数据库参数DELAY_KEY_WRITE

        DELAY_KEY_WRITE是指在表关闭之前,将对表的update操作指跟新数据到磁盘,而不更新索引到磁盘,把对索引的更改记录在内存。(这个选项的作用是暂时制止MySQL在该命令每插入一条新记录和每修改一条现有之后立刻对索引进行刷新,对索引的刷新将等到全部记录插入/修改完毕之后再进行)

        这样MyISAM表可以使索引更新更快。在关闭表的时候一起更新索引到磁盘。

       


使用:1:create table的时候,指定DELAY_KEY_WRITE。

            2: 当表已经存在的时候:ALTER TABLE table_name DELAY_KEY_WRITE= 1。


场景:表有update操作,这个参数的优势会很好的体现出来。因为这个参数能延迟更新索引到表关闭。经常更新一个大表的时候,可以用这个参数



小提示:当DELAY_KEY_WRITE使用的时候,如果出现重启或者掉电啥的情况,会导致在cache的索引update没来得及更新,所以必须在启动参数加上 --myisam-recover,这样在你启动mysql的时候会检查你的表并同步表和索引.或者在重启服务器之前运行myisamchk。使用该特性,应用--myisam-recover选项启动服务器,为所有MyISAM表添加自动检查。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。