TiDB中文技术文档事务语句 数据库管理语句 Prepared SQL 语句语法 实用工具语句 JSON 支持 Connectors 和 API TiDB 事务隔离级别 错误码与故障诊断 与 MySQL 兼容性对比 TiDB 内存控制文档 Bit-value Literals Boolean Literals Date 和 Time 字面值 十六进制的字面值 NULL Values 数值字面值 字符串字面值 TiDB 用户文档 Prepared SQL 语句语法 实用工具语句 TiDB SQL 语法图 JSON 支持 Connectors 和 API TiDB 事务隔离级别 错误码与故障诊断 与 MySQL 兼容性对比 TiDB 内存控制 高级功能 历史数据回溯 垃圾回收 (GC) TiDB 运维文档 软硬件环境需求 部署集群 Ansible 部署方案(强烈推荐) 离线 Ansible 部署方案 Docker 部署方案 Docker 优化 语言结构 字符集和时区 数据类型 函数和操作符 SQL 语句语法 JSON 支持 Connectors 和 API TiDB 事务隔离级别 错误码与故障诊断 与 MySQL 兼容性对比 TiDB 内存控制 高级功能 TiDB 用户文档 - 23 - 本文档使用 书栈(BookStack.CN) 构建 TiDB 数据库管理 TiDB 服务 TiDB 进程启动参数 TiDB 系统数据库 TiDB 系统变量0 码力 | 444 页 | 4.89 MB | 6 月前3
TiDB v5.2 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 282 8.1.4 慢日志内存映射表 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 算子下推 到 TiKV 的阈值, 默认值为100。 tidb_stmt_ �→ summary_ �→ max_stmt_ �→ count 修改 表示 statement summary 在内存 中保存的语句的 最大数量。默认 值从 200 修改为 3000。 26 变量名 修改类型 描述 tidb_enable_ �→ streaming 废弃 系统变量 enable- �→ • 支持 Spilling HashAgg 支持 HashAgg 的落盘。当包含 HashAgg 算子的 SQL 语句引起 OOM 时,可以尝试设置算子的并发度为 1 来 触发落盘,缓解 TiDB 内存压力。 用户文档,#25882 • 提升优化器的估算准确度 (Cardinality Estimation) – 提升 TiDB 对 TopN/Limit 估算的准确度。例如,对于包含 order0 码力 | 2259 页 | 48.16 MB | 1 年前3
TiDB v5.1 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 273 8.1.4 慢日志内存映射表 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · �→ memory- �→ quota 新增 设置缓存在内 存中的 TiCDC Old Value 的条 目占用内存的 上限。默认值 为 512MB。 TiKV 配置文件 sink-memory- �→ quota 新增 设置缓存在内 存中的 TiCDC 数 据变更事件占 用内存的上限。 默认值为 512MB。 TiKV 配置文件 incremental- �→ scan- �→ threads 长时间处于非活跃状态,即被自动设置为静默状态,可以降低 Leader 和 Follower 之间心跳信 息的系统开销。 用户文档,#10266 2.2.2.4 稳定性 • TiCDC 复制稳定性问题解决 – 改善 TiCDC 内存使用,避免在以下场景出现 OOM * 同步中断期间积累大量数据,超过 1TB,重新同步出现 OOM 问题 * 大量数据写入造成 TiCDC 出现 OOM 问题 – 改善 TiCDC 同步中断问题,缓解以下场景的问题0 码力 | 2189 页 | 47.96 MB | 1 年前3
TiDB v5.3 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 298 8.1.4 慢日志内存映射表 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 用户文档,#18030 • 临时表 新增对 CREATE [GLOBAL] TEMPORARY TABLE 语句的支持。支持创建临时表,方便管理业务中间计算的临 时数据。临时表中的数据均保存在内存中,用户可通过 tidb_tmp_table_max_size 变量限制临时表的内 存大小。TiDB 支持以下两种临时表: – Global 临时表 * 对集群内所有 session 可见,表结构持久化。 编 码。 用户文档 • Sync-diff-inspector 优化 – 大幅提升了对比速度,由原来的 375 MB/s 提升至 700 MB/s。 35 – 对比过程中对 TiDB 节点的内存消耗降低近一半。 – 优化了用户交互界面,在对比过程中可以显示进度。 用户文档 2.2.2.6 问题诊断效率 • 保存和恢复集群现场信息 在定位排查 TiDB 集群问题时,用户经常需要提供0 码力 | 2374 页 | 49.52 MB | 1 年前3
TiDB v7.1 中文手册Prepare 语句的执行计划缓存作为实验特性,以提升在线交易场景的并发处理能力。 在 v7.1.0 中,TiDB 继续增强非 Prepare 语句执行计划,支持缓存更多模式的 SQL。 为了提升内存利用率,TiDB v7.1.0 将非 Prepare 与 Prepare 语句的缓存池合并。你可以通过系统变量tidb_ �→ session_plan_cache_size 设置缓存大小。原有的系 * 修复当同步数据到对象存储时上游的 EXCHANGE PARTITION 操作没有正常同步到下游的问题 #8914 @CharlesCheung96 * 修复在某些特殊场景下 sorter 组件内存使用过多导致 OOM 的问题 #8974 @hicqu * 修复下游 Kafka 滚动重启时 TiCDC 节点发生 panic 的问题 #9023 @asddongmen – TiDB Data Y Y Y Y Y Y Y 快速分析 E E E E E E E E E 动态裁剪 Y Y Y E E E E N N 收集部分列的统计信息 E E E E N N N N N 限制统计信息的内存使用量 E E E N N N N N N 随机采样约 10000 行数据来快速构建统计信息 E E E E E E E E E 锁定统计信息 E E N N N N N N N 轻量级统计信息初始化0 码力 | 4369 页 | 98.92 MB | 1 年前3
TiDB v8.0 中文手册e-从-v800- �→ 版本开始引入">用于处理更大事务的批量 DML 执行方式(实验特性)大批量的 DML 任务,例如大规模的清理任务、连接或聚合,可能会消耗大量内存, �→ 并且在非常大的规模上受到限制。批量 DML ( tidb_dml_type = "bulk") 是一种新的 �→ DML 类型,用于更高效地处理大批量 DML 任务,同时提供事务保证并减轻数据库管理与可观测性 支持观测索引使用情况 正确的索引设计是提升数据库性能的重要前提。TiDB v8.0.0 引入内存表 INFORMATION_SCHEMA 间,增强数据库的可用性和可靠性,减少因数据丢失或系统故障引起的停机时间和业务损失。需要注 意的是,恢复速度的提升是因为使用了大量的 goroutine 来并行工作,会有比较大的内存消耗,特别是 在表或者 Region 数很多的时候,推荐使用内存规格较高的机器来运行 BR 的客户端。如果机器的内存规 35 格较小,建议改用细粒度的 Region 分裂打散策略。此外,因为粗粒度打散 Region 算法会占用大量的外部 存储带宽,请避0 码力 | 4805 页 | 101.28 MB | 1 年前3
TiDB v8.1 中文手册版本开始引入">用于处理更大事务的批量 DML 执行方式(实验特性,从 v8.0.0 开始引入)大批量的 DML 任务,例如大规模的清理任务、连接或聚合,可能会消耗大量内存, �→ 并且在非常大的规模上受到限制。批量 DML ( tidb_dml_type = "bulk") 是一种新的 �→ DML 类型,用于更高效地处理大批量 DML 任务,同时提供事务保证并减轻 a 缓存系统,为表元数据提供了基于 LRU (Least �→ Recently Used) 算法的缓存策略,优先将最近访问频率较高的表元数据存储在缓存中, �→ 从而减少表数量较多场景下的内存占用。- 支持在
auto analyze中配置数据库管理与可观测性支持观测索引使用情况(从 v8.0.0 开始引入) 正确的索引设计是提升数据库性能的重要前提。TiDB v8.0.0 引入内存表 INFORMATION_SCHEMA0 码力 | 4807 页 | 101.31 MB | 1 年前3
TiDB v7.5 中文手册target="_blank">分布式执行框架。在 v7.4.0 中,TiDB 以该框架为基础, �→ 引入全局排序,消除了数据 reorg 任务期间临时无序数据导致的不必要的 I/O、CPU 和内存峰值。 �→ 全局排序利用外部对象存储(目前为 Amazon S3)来存储系统作业期间的中间文件, �→ 提高灵活性并降低成本。ADD INDEX和IMPORT >TiDB Dashboard 性能分析支持 TiKV 堆内存分析 在之前版本中调查 TiKV OOM 或内存使用高的问题时,往往需要在实例环境下手动运行 2.2.1 功能详情 2.2.1.1 可扩展性 • 支持设置 TiDB 节点的服务范围,用于选择适用的 TiDB 节点分布式执行 ADD INDEX 或 IMPORTjeprof v7.5.0 开始,TiKV 支持远程处理 Heap Profile,你可以通过 TiDB �→ Dashboard 直接获取 Heap Profile 的火焰图和调用图。该功能提供了与 Go �→ 堆内存分析同等的简单易用体验。0 码力 | 4590 页 | 100.91 MB | 1 年前3
TiDB v7.6 中文手册@time-and-fate – 修复 tidb_server_memory_limit 导致内存长期压力较高时,TiDB CPU 利用率过高的问题 #48741 @XuHuaiyu – 修复 ENUM 类型列作为 join 键时,查询结果错误的问题 #48991 @winoros – 修复当内存使用超限时包含 CTE 的查询非预期卡住的问题 #49096 @AilinKid – 修复 TiDB (WITH RECURSIVE) CTE 的 UPDATE 或 DELETE 语句可能会产生错误结果的问题 #48969 @winoros – 修复包含 IndexHashJoin 算子的查询由于内存超过 tidb_mem_quota_query 而卡住的问题 #49033 @XuHuaiyu – 修 复 在 非 严 格 模 式 下 (sql_mode = ''),INSERT 过 程 中 产 ENFORCED 选项的行为与 MySQL 8.0 不一致的问题 #47567 #47631 @jiyfhust – 修复 CHECK 约束的 DDL 卡住的问题 #47632 @jiyfhust – 修复由于内存不足导致 DDL 快速加索引失败的问题 #47862 @GMHDBJD – 修复在执行加索引的过程中升级集群可能导致数据与索引不一致的问题 #46306 @zimulala – 修复更新 tidb_mem_quota_query0 码力 | 4666 页 | 101.24 MB | 1 年前3
TiDB v6.5 中文手册的关键特性,可以查看TiDB 功能概览中的 v6.1 和 v6.5 列。 • 添加索引加速特性 GA,添加索引的性能约提升为 v6.1.0 的 10 倍。 • TiDB 全局内存控制特性 GA,通过tidb_server_memory_limit 即可管理全局内存阈值。 • 支持高性能、全局单调递增的AUTO_INCREMENT 列属性 GA,兼容 MySQL。 • FLASHBACK CLUSTER TO TIMESTAMP 扩展了CREATE [GLOBAL | SESSION] BINDING 语句中的绑定对象,支持根据历史执行 计划创建绑定。当 SQL 语句的执行计划发生改变时,只要原来的执行计划仍然在 SQL 执行历史内存 表(例如,statements_summary)中,就可以在 CREATE [GLOBAL | SESSION] BINDING 语句中通过指定 plan_digest 绑定原来的执行计划,快速恢复 对视图内查询的执行计划进行干预,以获得最佳性能。在 v6.5.0 中,TiDB 允许针对视图内的查询块添加全局 Hint,使查询中定义的 Hint 能够在视图内部生效。该特性为包含复杂 视图嵌套的 SQL 提供 Hint 的注入手段,增强了执行计划控制能力,进而稳定复杂 SQL 的执行性能。全局 Hint 通过查询块命名和Hint 引用来开启。 更多信息,请参考用户文档。 • 支持将分区表的排序操作下推至0 码力 | 4049 页 | 94.00 MB | 1 年前3共 19 条- 1
- 2













