【MySQL】5.7新特性之二

haoge0205發表於2016-11-22
本系列基於5.7.12 版本來講述MySQL的新特性,從安裝,檔案結構,SQL  ,最佳化 ,運維層面 複製,等幾個方面展開介紹5.7 的新特性和功能,同時也建議大家跟蹤官方blog和文件,以儘快知悉其新的變化。
1 SQL_MODE的變化
官方文件上表述, 5.7 版本預設的SQL_MODE="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" 。而實際上我自己的測試環境中預設新增了 STRICT_TRANS_TABLES 屬性。
  1. mysql> select @@sql_mode;
  2. +--------------------------------------------+
  3. | @@sql_mode |
  4. +--------------------------------------------+
  5. | STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION |
  6. +--------------------------------------------+
  7. 1 row in set (0.00 sec)
 STRICT_TRANS_TABLES 意思是說要儲存的欄位的長度大於欄位定義的大小,直接報錯而非像5.6版本以及之前,截斷資料進行儲存,同時丟擲一個warning。注意同一個會話調整 sql_mode 必須退出之後在進入sql_mode才會生效。詳細瞭解SQL_MODE 請移步sql_mode官方文件》 注意5.7 對於null,'00000000 00:00:00' 這類default值的影響.



2 online ddl支援 rename index name .個人感覺這個功能比較雞肋,通常改變索引名稱的時候 本身索引的結構需要增刪欄位,新建的索引名稱也要修改合適的名稱。
  1. mysql> alter table yy rename index idx_name to idx_nm;
  2. Query OK, 0 rows affected (0.01 sec)
  3. Records: 0 Duplicates: 0 Warnings: 0

3 新增內建的full text 外掛,支援中文 ,韓文,日文全文索引。
  之前的版本 只能依賴單詞之間空格進行分詞,對於依賴於語義分詞而非空格分詞的其他語言種類,5.7 版本的引入支援解析中文,韓文,日文的全文索引--ngram full-text parser解決了該問題。具體請移步ngram Full-Text Parser

參考文章
《what is new in MySQL 5.7

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28939273/viewspace-2128840/,如需轉載,請註明出處,否則將追究法律責任。

相關文章