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.

innodb_ft_max_token_size取值范围

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

上一篇:html5如何实现元素拖放


下一篇:Django Book学习笔记(下)