2019 年 1 月 19 日,TiDB 发布 3.0 Beta 版,对应 master branch 的 TiDB-Ansible。相比 2.1 版本,该版本对系统稳定性、优化器、统计信息以及执行引擎做了很多改进。
NOT EXISTS 子查询,将其转化为 Anti Semi Jointidb_enable_cascades_planner 变量以支持新的 Cascades 优化器。目前 Cascades 优化器尚未实现完全,默认关闭Project 算子IFNULL 函数,当输入参数具有非 NULL 的属性的时候,消除该函数_tidb_rowid 构造查询的 Range,避免全表扫,减轻集群压力IN 子查询为先聚合后做 Inner Join 并,添加变量 tidb_opt_insubq_to_join_and_agg 以控制是否开启该优化规则并默认打开DO 语句中使用子查询TIDB_INLJ 优化器 Hint 的行为,优化器将使用 Hint 中指定的表当做 Index Join 的 Inner 表PointGet,使得当 Prepare 语句的执行计划缓存生效时也能利用上它TIDB_INLJ 未生效时,返回 warning 给客户端,增强易用性ON 条件EXECUTE 语句时使用的用户变量COMMIT 语句打印慢查询信息EXPLAIN ANALYZE 功能,使得 SQL 调优过程更加简单admin show next_row_idtidb_init_chunk_size 以控制执行引擎使用的初始 Chunk 大小shard_row_id_bits,对自增 ID 做越界检查Prepare 语句
Prepare 语句,禁止其添加到 Prepare 语句的执行计划缓存中,确保输入不同的用户变量时执行计划的正确性Prepare 语句的执行计划缓存,使得当语句中包含非确定性函数的时候,该语句的执行计划也能被缓存Prepare 语句的执行计划缓存,使得 DELETE/UPDATE/INSERT 的执行计划也能被缓存Prepare 语句的执行计划缓存,当执行 DEALLOCATE 语句时从缓存中剔除对应的执行计划Prepare 语句的执行计划缓存,通过控制其内存使用以避免缓存过多执行计划导致 TiDB OOM 的问题Prepare 语句,使得 ORDER BY/GROUP BY/LIMIT 子句中可以使用 “?” 占位符ANALYZE 语句的权限检查USE 语句的权限检查SET GLOBAL 语句的权限检查SHOW PROCESSLIST 语句的权限检查Trace 功能unix_socket 和 TCP 两种方式连接数据库interactive_timeoutwait_timeouttidb_batch_commit,可以按语句数将事务分解为多个事务ADMIN SHOW SLOW 语句,方便查看慢日志ALLOW_INVALID_DATES 这种 SQL modeSHOW CREATE DATABASE IF NOT EXISTS 语法utf8 变为 utf8mb4RegionStorage 单独存储 Region 元信息raw_scan 和 raw_batch_scan英文版 Release Notes https://github.com/pingcap/docs/blob/master/releases/3.0beta.md

1
EmdeBoas 2019-01-21 13:43:40 +08:00
点赞,反馈的问题在 3.0 都解决了,TiFlash Beta 找个机会看看公司愿不愿意现在试一试,越做越好了👍
|
2
zhchyu999 2019-01-21 14:10:45 +08:00 via iPhone
周六去了 devcon,讲的很好
|
3
andyangyu 2019-01-21 15:08:23 +08:00
什么时候出原生 k8s 环境的安装教程啊, local pv 折腾不出来啊.
|
4
dezhou9 2019-01-21 15:31:51 +08:00 via Android
看着像阿里的
|
5
ericFork 2019-01-22 05:53:16 +08:00
期待下个大版本能兼容 postgres
|