一、SQL mode变化

5.7版本采用严格的SQL mode,默认使用STRICT_TRANS_TABLES。

STRICT_TRANS_TABLES 意思是说,如果要存储的字段的长度大于字段定义的大小,则直接报错,而非像5.6版本以及之前,截断数据进行存储,同时抛出一个warning。注意同一个会话调整 sql_mode 必须退出之后在进入sql_mode才会生效。详细了解SQL_MODE 请移步《sql_mode官方文档》。 注意5.7 对于null,'00000000 00:00:00' 这类default值的影响.

  1. ONLY_FULL_GROUP_BY的提升使其更加复杂,不再拒绝以前被拒绝的确定性查询(deterministic queries)。所以,这个模式默认是启用的,仅阻止包含那些在组内不能确保唯一性的非确定性查询。

  2. ERROR_FOR_DIVISION_BY_ZERO, NO_ZERO_DATE, and NO_ZERO_IN_DATE,这些模式已经被弃用,但还是默认开启的。官方的长期计划是把它们包括在严格的SQL模式里(strict SQL mode),而且将会在未来的版本中删除

  3. 现在5.7版本默认启用的模式有:ONLY_FULL_GROUP_BY, STRICT_TRANS_TABLES, NO_ZERO_IN_DATE, NO_ZERO_DATE, ERROR_FOR_DIVISION_BY_ZERO, NO_AUTO_CREATE_USER, and NO_ENGINE_SUBSTITUTION


二、Online ALTER TABLE

“ALTER TABLE”命令中可以使用“RENAME INDEX”子句来修改索引名称。更改是在没有表复制操作的情况下进行的。而且在所有存储引擎下都生效。

mysql> alter table xx rename index idx_name1 to idx_name2;
Query OK, 0 rows affected (0.01 sec)
Records: 0 Duplicates: 0 Warnings: 0


三、新增full-text插件

Mysql提供一个内置的全文搜索插件( full-text ngram parser plugin)。其中ngram插件支持中文、日文、韩文。还有一个可安装的MeCab全文搜索插件,支持日文。

官方文档:ngram Full-Text Parser


赞助本站,网站的持续发展离不开你们的支持!一分也是爱ヾ(◍°∇°◍)ノ゙
 本文链接: ,花了好多脑细胞写的,转载请注明链接喔~~
登陆
      正在加载评论