一、动态生成的列(Generated Columns)

MySQL现在支持在创建和修改列的时候使用generated columns。他的值由对应的表达式计算得出。

它可以有两种存储方式,默认值是VIRTUAL:

  1. 虚拟化(VIRTUAL)的 (读取列时计算的) 

  2. 存储到数据库(STORED)的,会实际占用空间 (当行被插入或更新时计算的)

默认创建方式:

CREATE TABLE triangle (
  sidea DOUBLE,
  sideb DOUBLE,
  sidec DOUBLE AS (SQRT(sidea * sidea + sideb * sideb))
);
INSERT INTO triangle (sidea, sideb) VALUES(1,1),(3,4),(6,8);

如果要选择STORED:

CREATE TABLE triangle (
  sidea DOUBLE,
  sideb DOUBLE,
  sidec DOUBLE AS (SQRT(sidea * sidea + sideb * sideb)) STORED
);


mysql> SELECT * FROM triangle;
+-------+-------+--------------------+
| sidea | sideb | sidec              |
+-------+-------+--------------------+
|     1 |     1 | 1.4142135623730951 |
|     3 |     4 |                  5 |
|     6 |     8 |                 10 |
+-------+-------+--------------------+


二、mysql client

以前的Control+C命令,如果有一条正在执行的命令,就会打断它;如果没有,则会退出客户端。现在这个命令仍然会打断正在执行的命令,区别在于,在没有命令执行的时候,不再会直接退出了,而是取消任何部分输入行。


三、主存储线程改进(Master dump thread improvements)

主存储线程被重构了,进而能够减少锁竞争的情况,提升主线程的吞吐量。在MySQL 5.7.2之前,当存储线程读取一个事件的任何时候,都会在 binary log 上加一个锁。而在MySQL 5.7.2之后,只会在读取最后一个成功写入事件的位置的时候,加锁。这意味着,多个存储线程可以并发读取;而且当客户端在读取binary log的时候,存储线程也能读取得到。


四、全球化的改进(Globalization improvements)

从MySQL 5.7.4开始,引进了 gb18030 字符集,用来支持中国标准的GB18030字符集



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