- 关于 TiDB
- 快速上手
- 部署集群
- 数据迁移
- 运维操作
- 升级 TiDB 版本
- 扩缩容
- 备份与恢复
- 使用 BR 工具(推荐)
- 读取历史数据
- 修改时区
- 日常巡检
- TiFlash 常用运维操作
- TiUP 常用运维操作
- 在线修改集群配置
- 监控与告警
- 故障诊断
- 性能调优
- 系统调优
- 软件调优
- SQL 性能调优
- SQL 性能调优概览
- 理解 TiDB 执行计划
- SQL 优化流程
- 控制执行计划
- 教程
- TiDB 生态工具
- 参考指南
- 架构
- 监控指标
- 安全加固
- 权限
- SQL
- SQL 语言结构和语法
- SQL 语句
ADD COLUMN
ADD INDEX
ADMIN
ADMIN CANCEL DDL
ADMIN CHECKSUM TABLE
ADMIN CHECK [TABLE|INDEX]
ADMIN SHOW DDL [JOBS|QUERIES]
ALTER DATABASE
ALTER INDEX
ALTER INSTANCE
ALTER TABLE
ALTER USER
ANALYZE TABLE
BACKUP
BEGIN
CHANGE COLUMN
CHANGE DRAINER
CHANGE PUMP
COMMIT
CREATE [GLOBAL|SESSION] BINDING
CREATE DATABASE
CREATE INDEX
CREATE ROLE
CREATE SEQUENCE
CREATE TABLE LIKE
CREATE TABLE
CREATE USER
CREATE VIEW
DEALLOCATE
DELETE
DESC
DESCRIBE
DO
DROP [GLOBAL|SESSION] BINDING
DROP COLUMN
DROP DATABASE
DROP INDEX
DROP ROLE
DROP SEQUENCE
DROP STATS
DROP TABLE
DROP USER
DROP VIEW
EXECUTE
EXPLAIN ANALYZE
EXPLAIN
FLASHBACK TABLE
FLUSH PRIVILEGES
FLUSH STATUS
FLUSH TABLES
GRANT <privileges>
GRANT <role>
INSERT
KILL [TIDB]
LOAD DATA
LOAD STATS
MODIFY COLUMN
PREPARE
RECOVER TABLE
RENAME INDEX
RENAME TABLE
REPLACE
RESTORE
REVOKE <privileges>
REVOKE <role>
ROLLBACK
SELECT
SET DEFAULT ROLE
SET [NAMES|CHARACTER SET]
SET PASSWORD
SET ROLE
SET TRANSACTION
SET [GLOBAL|SESSION] <variable>
SHOW [BACKUPS|RESTORES]
SHOW ANALYZE STATUS
SHOW [GLOBAL|SESSION] BINDINGS
SHOW BUILTINS
SHOW CHARACTER SET
SHOW COLLATION
SHOW [FULL] COLUMNS FROM
SHOW CONFIG
SHOW CREATE SEQUENCE
SHOW CREATE TABLE
SHOW CREATE USER
SHOW DATABASES
SHOW DRAINER STATUS
SHOW ENGINES
SHOW ERRORS
SHOW [FULL] FIELDS FROM
SHOW GRANTS
SHOW INDEX [FROM|IN]
SHOW INDEXES [FROM|IN]
SHOW KEYS [FROM|IN]
SHOW MASTER STATUS
SHOW PLUGINS
SHOW PRIVILEGES
SHOW [FULL] PROCESSSLIST
SHOW PROFILES
SHOW PUMP STATUS
SHOW SCHEMAS
SHOW STATS_HEALTHY
SHOW STATS_HISTOGRAMS
SHOW STATS_META
SHOW STATUS
SHOW TABLE NEXT_ROW_ID
SHOW TABLE REGIONS
SHOW TABLE STATUS
SHOW [FULL] TABLES
SHOW [GLOBAL|SESSION] VARIABLES
SHOW WARNINGS
SHUTDOWN
SPLIT REGION
START TRANSACTION
TRACE
TRUNCATE
UPDATE
USE
- 数据类型
- 函数与操作符
- 聚簇索引
- 约束
- 生成列
- SQL 模式
- 事务
- 垃圾回收 (GC)
- 视图
- 分区表
- 字符集和排序规则
- 系统表
mysql
- INFORMATION_SCHEMA
- Overview
ANALYZE_STATUS
CHARACTER_SETS
CLUSTER_CONFIG
CLUSTER_HARDWARE
CLUSTER_INFO
CLUSTER_LOAD
CLUSTER_LOG
CLUSTER_SYSTEMINFO
COLLATIONS
COLLATION_CHARACTER_SET_APPLICABILITY
COLUMNS
DDL_JOBS
ENGINES
INSPECTION_RESULT
INSPECTION_RULES
INSPECTION_SUMMARY
KEY_COLUMN_USAGE
METRICS_SUMMARY
METRICS_TABLES
PARTITIONS
PROCESSLIST
SCHEMATA
SEQUENCES
SESSION_VARIABLES
SLOW_QUERY
STATISTICS
TABLES
TABLE_CONSTRAINTS
TABLE_STORAGE_STATS
TIDB_HOT_REGIONS
TIDB_INDEXES
TIDB_SERVERS_INFO
TIFLASH_REPLICA
TIKV_REGION_PEERS
TIKV_REGION_STATUS
TIKV_STORE_STATUS
USER_PRIVILEGES
VIEWS
METRICS_SCHEMA
- UI
- CLI
- 命令行参数
- 配置文件参数
- 系统变量
- 存储引擎
- TiKV
- TiFlash
- TiUP
- 遥测
- 错误码
- 通过拓扑 label 进行副本调度
- 常见问题解答 (FAQ)
- 术语表
- 版本发布历史
TiDB 4.0.6 Release Notes
发版日期:2020 年 9 月 15 日
TiDB 版本:4.0.6
新功能
TiFlash
- 在 TiFlash 中支持在广播 Join 中使用外连接
TiDB Dashboard
Tools
TiCDC(自 v4.0.6 起,TiCDC 成为正式功能,可用于生产环境)
- 支持输出
maxwell
格式的数据 #869
- 支持输出
优化提升
TiDB
- 使用标准错误替换 TiDB 中的错误码和错误信息 #19888
- 提升分区表的写性能 #19649
- 在 Cop Runtime 统计信息中记录更多的 RPC Runtime 信息 #19264
- 禁止在
metrics_schema
和performance_schema
中创建表 #19792 - 支持调整 Union 执行算子的并发度 #19886
- 支持在广播 Join 中使用外连接 #19664
- 添加对 process list 的 digest #19829
- 对于自动提交语句的重试转换到悲观锁模式 #19796
- 在
Str_to_date
函数中支持%r
和%T
的数据格式 #19693 - 使
SELECT INTO OUTFILE
需要文件权限 #19577 - 支持
stddev_pop
函数 #19541 - 添加
TiDB-Runtime
面板 #19396 - 提升
ALTER TABLE ALGORITHMS
的兼容性 #19364 - 在慢日志的计划字段中加入编码好的
INSERT
/DELETED
/UPDATE
计划 #19269
TiKV
PD
TiFlash
- 在 Grafana 中添加关于数据同步 (
apply Region snapshots
和ingest SST files
) 的监控面板 - 在 Grafana 中添加关于
write stall
的监控面板 - 添加
dt_segment_force_merge_delta_rows
及dt_segment_force_merge_delta_deletes
用于调整阈值以避免write stall
发生 - 支持在 TiFlash-Proxy 中把
raftstore.snap-handle-pool-size
设为0
以禁用多线程同步 Region snapshot,可降低同步数据时内存消耗 - 在
https_port
及metrics_port
上支持 CN 检查
- 在 Grafana 中添加关于数据同步 (
Tools
Bug 修复
TiDB
- 修复了在 Metric Profile 中
tikv_cop_wait
time 的一个问题 #19881 - 修复了
SHOW GRANTS
显示错误结果的问题 #19834 - 修复了使用
!= ALL (subq)
查询结果不正确的问题 #19831 - 修复了转换
ENUM
和SET
类型的一个问题 #19778 - 增加了
SHOW STATS_META
、SHOW STATS_BUCKET
的一个权限检查 #19760 - 修复了由
builtinGreatestStringSig
和builtinLeastStringSig
引起的列长度不匹配问题 #19758 - 如果向量化计算抛出多余的 errors 或者 warnings,回退向量化执行到标量执行 #19749
- 修复了在相关列类型是
Bit
时Apply
算子出现错误的问题 #19692 - 修复了在 MySQL 8.0 客户端中查询 processlist 和 cluster_log 时出现的问题 #19690
- 修复了相同类型的 plan 具有不同类型的 plan digest 的错误 #19684
- 禁止从
Decimal
toInt
变更列类型 #19682 - 修复了
SELECT ... INTO OUTFILE
返回运行时错误的问题 #19672 - 修复了
builtinRealIsFalseSig
的不正确的实现 #19670 - 修复了分区表达式检查漏掉括号表达式的问题 #19614
- 修复了当在
HashJoin
上具有Apply
算子时的查询错误 #19611 - 修复了向量化将
Real
cast 成Time
类型时的错误的结果 #19594 - 修复了
SHOW GRANTS
可以显示不存在用户的 grants 信息的错误 #19588 - 修复了当在
IndexLookupJoin
上具有Apply
算子时的查询错误 #19566 - 修复了当在分区表上将
Apply
转化成HashJoin
时的错误结果 #19546 - 修复了当在
Apply
的 inner 端具有IndexLookUp
算子时的错误结果 #19508 - 修复了使用视图时非预期的 panic #19491
- 修复了
anti-semi-join
查询时的不正确结果 #19477 - 修复了删除统计信息时未删除 topN 的统计信息的错误 #19465
- 修复了因错误使用 batch point get 时产生的错误结果 #19460
- 修复了在带有虚拟生成列的
IndexLookupJoin
上无法找到列的错误 #19439 - 修复了在
SELECT
和UPDATE
查询上的不同计划比较 datum 的错误 #19403 - 修复了 TiFlash 在 Region cache 上产生的 work index 数据争用 #19362
- 修复了
logarithm
函数不返回 warning 的错误 #19291 - 修复了当使用 TiDB 落盘时产生的非预期错误 #19272
- 支持在 Index Join 的 inner 端使用单个分区表 #19197
- 修复了对 decimal 产生的错误的 hash 键值 #19188
- 修复了当 table EndKey 和 Region EndKey 相同时 TiDB 会产生 no regions 的错误 #19895
- 修复了
alter partition
的非预期成功 #19891 - 修复了在下推表达式上,默认最大允许的包长的错误 #19876
- 修复了在
ENUM
/SET
列上Max
/Min
函数的错误行为 #19869 - 修复了当部分 TiFlash 节点下线之后,
tiflash_segments
和tiflash_tables
系统表读取失败的问题 #19748 - 修复了
Count()
聚集函数的错误结果 #19628 - 修复了
TRUNCATE
操作的运行时错误 #19445 - 修复了
PREPARE statement FROM @Var
语句在Var
包含大写字符时候会失败的错误 #19378 - 修复了在具有大写表名的表上修改 charset 会产生 panic 的错误 #19302
- 修复了当在包含
tikv/tiflash
信息时,information_schema.statements_summary
和explain
计划的不一致性 #19159 - 修复了在测试中
select into outfile
出现文件不存在的错误 #19725 - 修复了
INFORMATION_SCHEMA.CLUSTER_HARDWARE
不含有 raid 设备信息的问题 #19457 - 修复一个问题,使具有
case-when
表达式生成列的索引添加操作在遇到 parse 错误时能够正常退出 #19395 - 修复 DDL 长时间重试的错误 #19488
- 修复错误,使
alter table db.t1 add constraint fk foreign key (c2) references t2(c1)
语句执行不需要先执行use db
#19471 - 修复使日志文件中 dispatch errors 从 Error 形式转变为 Info 信息 #19454
- 修复了在 Metric Profile 中
TiKV
PD
TiFlash
- 修复在更早版本中修改主键列名后,升级到 v4.0.4/v4.0.5 时 TiFlash 启动失败的问题
- 修复在修改列的 nullable 属性后访问数据可能抛异常的问题
- 修复在计算表同步状态时导致的崩溃问题
- 修复当用户进行一些不兼容的 DDL 操作后,读取 TiFlash 数据遇到异常的问题
- 修复从 TiDB 同步到不支持的 collation 时,抛出异常的问题
- 修复 Grafana 中 TiFlash coprocessor executor QPS 面板始终显示为 0 的问题
- 修复
FROM_UNIXTIME
函数遇到NULL
值时返回错误结果的问题
Tools
TiCDC
Backup & Restore (BR)
Dumpling
- 解决 binary 类型的
NULL
值没有被正确处理的问题 #137
- 解决 binary 类型的
TiDB Lightning