innodb_ft_max_token_size取值范围

 

   根据问档中所说,innodb_ft_max_token_size取值范围为10-252,而实际上但我们在配置文件设置innodb_ft_max_token_size=252时,error log会出现

2014-10-28 17:22:50 46772 [Warning] option 'innodb-ft-max-token-size': unsigned value 252 adjusted to 84,数据库会正常启动,启动后查看show variables like 'innodb_ft_max_token_size'值为84.

 

blob.png

 

http://dev.mysql.com/doc/refman/5.6/en/innodb-parameters.html#sysvar_innodb_ft_max_token_size

 

查看源码发现innodb_ft_max_token_size实例最大值为84.

#define HA_FT_MAXBYTELEN 254
#define HA_FT_MAXCHARLEN (HA_FT_MAXBYTELEN/3)
#define FTS_MAX_WORD_LEN_IN_CHAR        HA_FT_MAXCHARLEN  
static MYSQL_SYSVAR_ULONG(ft_max_token_size, fts_max_token_size,   PLUGIN_VAR_RQCMDARG | PLUGIN_VAR_READONLY,   "InnoDB Fulltext search maximum token size in characters",   NULL, NULL, FTS_MAX_WORD_LEN_IN_CHAR, 10, FTS_MAX_WORD_LEN_IN_CHAR, 0);

FTS_MAX_WORD_LEN_IN_CHAR实际是84

 

后来在bug系统看到了相关的bug, 可能需要修改文档

参见http://bugs.mysql.com/bug.php?id=73859

 

 

 

 

posted @ 2014-10-30 09:40  sstrive  阅读(1601)  评论(0编辑  收藏  举报