oracle官方发布的基准测试声明:In benchmark tests using SysBench Read-only Point-Selects, at 1,024connections, MySQL 5.7 delivered 1,600,000 queries per second (QPS)-- 3x faster than MySQL 5.6.
意思是基准测试结果相比5.6,提升了3倍,达到了160万QPS
还有一个用户实际场景的测试:
新版本的 MySQL 在测试平台上可达到每秒 512000 只读 QPS,而 MySQL 5.6 最高只能到 250000 QPS。参见:http://dimitrik.free.fr/blog/archives/2013/09/mysql-performance-reaching-500k-qps-with-mysql-57.html
回复数字19可查看mysql5.7升级文章
*对于每个登录账号,5.7.1版本会根据密码是否为空和密码位数来判断使用mysql_native_password或者mysql_old_password。5.7.2版本开始,账号密码不能为空,而且不再支持mysql_old_password, old_passwords 配置不能再赋值为1兼容4.1前的旧密码格式用户登录。
对于旧格式密码,只能更新密码为新格式密码:
update mysql.user set authentication_string = password(‘yourps’)where Host=’localhost’ and User=’root’;
安装后root账户会有一个随机密码
*可设置账号密码有效时间
*锁定账号 account_locked
(可通过语句查看:show variables like ‘sql-mode’;)
*ONLY_FULL_GROUP_BY(添加到默认值)
对于GROUP BY聚合操作,在SELECT中的列必须在GROUP BY中出现。
* ERROR_FOR_DIVISION_BY_ZERO, NO_ZERO_DATE,NO_ZERO_IN_DATE
5.7.4-5.7.7 废除这三个mode,把其功能包含在strict_mode中,但是会有旧版本升级的问题
5.7.8又恢复到5.7.4之前,增加到sql-mode默认值中。
以后的版本还会按照5.7.4的方法,只是5.7先作为这种改变的过渡版本。
RENAME INDEX old_idx_name TO new_idx_name
支持对中文的支持。InnoDB全文索引,N-gram Parser:http://mysqlserverteam.com/innodb%E5%85%A8%E6%96%87%E7%B4%A2%E5%BC%95%EF%BC%9An-gram-parser/
(online ddl 的一种)支持改变varchar长度,但是只能在0-255范围内增加长度。alter table t1 ALGORITHM=INPLACE, CHANGE COLUMN a a varchar(5);
online ddl解释:5.6版开始支持inplace算法,这种算法下alter table 不锁表、不copy表,而且允许dml操作,但是它的耗时比copy算法高。详见http://dev.mysql.com/doc/refman/5.6/en/innodb-create-index-overview.html。5.7之前所有change column操作仍然需要锁表。
(地理位置或者几何学上的坐标), GEOMETRY。也开始支持sparcial类型的索引
CREATE TABLE test_57.geom (pt POINT);
SET @g = 'POINT(1 1)';
INSERT INTO test_57.geom VALUES (ST_GeomFromText(@g));
SELECT ST_AsText(pt) FROM test_57.geom;
(Multi-threaded page cleaner),innodb_page_cleaners设置并发线程
数,一个协调线程和其它工作线程
新增一个新日志记录类型MLOG_FILE_NAME,标示上次恢复的表位置,原来每次恢复会需要扫描读取$datadir/*/*.ibd,然后去检查$datadir/*/*.isl来判断是否已经恢复该表
其实就是在table和物理文件之间的一个新概念,新建一个gt绑定到一个ibd文件,通常新建一个表也是默认在数据目录新建一个ibd文件,但是现在新建表可以指定到某个gt,而且多个表可以建在同一个gt上。总结一句话:它支持多个表公用一个idb数据文件, 可以节省内存。
支持表分区
innodb引擎航存储格式包括compact、redundant、compressed、dynamic四种,前两者属于antelope(羚羊),后两者属于Barracuda(梭子鱼)是后来添加的。
指定表的row_format
:CREATE TABLE t1 (c1 INT) ROW_FORMAT=DYNAMIC;
查看默认row_format:show variables like'%row_format%';
查看表的row_format:SELECT * FROMINFORMATION_SCHEMA.INNODB_SYS_TABLES WHERE NAME LIKE 'test_57/geom'\G
缩短online ddl 的altertable时间,改变临时表的存储方式.
7.json原生支持;回复数字20,可查看另一篇专门介绍json支持的文章。