TiDB v8.4 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 2588 14.3.8 TiFlash 支持的计算下推· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 操作生效,且默认关闭。如需开启优化版的 Hash Join,可以将系统变 量tidb_hash_join_version 设置为 optimized。 更多信息,请参考用户文档。 36 • 支持下推以下日期函数到 TiKV #56297 #17529 @gengliqi – DATE_ADD() – DATE_SUB() – ADDDATE() – SUBDATE() 更多信息,请参考用户文档。 并发进行副本同步时,可能错误触发 Region overlap 检查失败而导致 TiFlash panic 的问题 #9329 @CalvinNeo – 修复一些 TiFlash 不支持的 JSON 函数被错误地下推到 TiFlash 的问题 #9444 @windtalker • Tools – Backup & Restore (BR) * 修复 TiDB 节点停止时,监控中 PITR checkpoint0 码力 | 5072 页 | 104.05 MB | 10 月前3
TiDB v8.5 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 2606 14.3.8 TiFlash 支持的计算下推· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 操作生效,且默认关闭。如需开启优化版的 Hash Join,可以将系统变 量tidb_hash_join_version 设置为 optimized。 更多信息,请参考用户文档。 41 • 支持下推以下日期函数到 TiKV #56297 #17529 @gengliqi – DATE_ADD() – DATE_SUB() – ADDDATE() – SUBDATE() 更多信息,请参考用户文档。 并发进行副本同步时,可能错误触发 Region overlap 检查失败而导致 TiFlash panic 的问题 #9329 @CalvinNeo – 修复一些 TiFlash 不支持的 JSON 函数被错误地下推到 TiFlash 的问题 #9444 @windtalker • Tools – Backup & Restore (BR) * 修复 TiDB 节点停止时,监控中 PITR checkpoint0 码力 | 5095 页 | 104.54 MB | 10 月前3
TiDB v8.2 中文手册· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · 2579 14.3.8 TiFlash 支持的计算下推· · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·随着资源管控功能被广泛应用,对资源组切换操作的权限控制能够避免数据库用户对资源的滥用, �→ 强化管理员对整体资源使用的保护,从而提升集群的稳定性。 2.2.1 功能详情 2.2.1.1 性能 • 支持下推以下 JSON 函数到 TiKV #50601 @dbsid – JSON_ARRAY_APPEND() – JSON_MERGE_PATCH() – JSON_REPLACE() 更多信息,请参考用户文档。 类型在谓词中溢出的问题 #45783 @hawkingrei 44 – 修复窗口函数中有某些子查询时可能会 panic 的问题 #42734 @hi-rustin – 修复 TopN 算子可能被错误地下推的问题 #37986 @qw4990 – 修复在聚簇索引作为谓词时 SELECT INTO OUTFILE 不生效的问题 #42093 @qw4990 – 修复 information schema0 码力 | 4987 页 | 102.91 MB | 10 月前3
TiDB中文技术文档1 时,唯一索引约束不被检查以加速导入速度。 这个变量不对外用,只是给 lightning 使用,请用户不要自行修改。 作用域: SESSION 默认值: 0 这个变量用来设置优化器是否执行聚合函数下推到 Join 之前的优化操作。 当查询中聚合操作执行很慢时,可以尝试设置该变量为 1。 TiDB 专用系统变量和语法 System Variable tidb_snapshot tidb_import_data 计划在 task 级别的拓扑关系是一个 root task 后面可以跟许多 cop task,root task 使用 cop task 的输出结果作为输入。cop task 中执行的也即是 tidb 下推到 tikv 上的 任务,每个 cop task 分散在 tikv 集群中,由多个进程共同执行 operator info 每个 operator 的详细信息。各个 operator 的 operator 构建 目前 TiDB 的计算任务隶属于两种不同的 task: cop task 和 root task。cop task 是指被下推到 KV 端 分布式执行的计算任务,root task 是指在 TiDB 端单点执行的计算任务。SQL 优化的目标之一是将计算尽可能 的下推到 KV 端执行。 TiDB 的表数据是指一张表的原始数据,存放在 TiKV 中。对于每行表数据,它的 key 是一个 64 位整数,称为0 码力 | 444 页 | 4.89 MB | 6 月前3
TiDB 原理与实战Predicate push down select * from t join s on t.id = s.id where t.c < 1 and s.c < 1 如若改成 left out join 则只能下推 σ(t.c < 1) σ(t.c < 1 and s.c < 1) join(t.id=s.id) t DS s DS σ(t.c < 1) join(t.id=s.id) t DS s DS σ(s0 码力 | 23 页 | 496.41 KB | 6 月前3
CurveFS方案设计分配情况,我们常见的业务形态有以下两种: ① 在AI训练等场景,文件的目录层级较少,文件数量较多,文件较小。这种情况inode比较聚集,一般分布在几个复制组上。inode数量多。 ② 在数据库等场景,文件的目录层级较少,文件数量较少,文件很大。这种情况inode比较聚集,一般分布在几个复制组上。inode数量少。 以上这两种情况,以20TB为例,数据量在MB级别,client获取数据可以使用stream类型的rpc?0 码力 | 14 页 | 619.32 KB | 6 月前3
Hello 算法 1.2.0 简体中文 C# 版射到相同的桶。而通过线性探测,它们被依次存储在该桶以及之下的桶中。 第 6 章 哈希表 www.hello‑algo.com 124 图 6‑6 开放寻址(线性探测)哈希表的键值对分布 然而,线性探测容易产生“聚集现象”。具体来说,数组中连续被占用的位置越长,这些连续位置发生哈希冲 突的可能性越大,从而进一步促使该位置的聚堆生长,形成恶性循环,最终导致增删查改操作效率劣化。 值得注意的是,我们不能在开放寻 平方探测主要具有以下优势。 第 6 章 哈希表 www.hello‑algo.com 128 ‧ 平方探测通过跳过探测次数平方的距离,试图缓解线性探测的聚集效应。 ‧ 平方探测会跳过更大的距离来寻找空位置,有助于数据分布得更加均匀。 然而,平方探测并不是完美的。 ‧ 仍然存在聚集现象,即某些位置比其他位置更容易被占用。 ‧ 由于平方的增长,平方探测可能不会探测整个哈希表,这意味着即使哈希表中有空桶,平方探测也可能 ,以此类推,直到找到空位后插入元素。 ‧ 查找元素:在相同的哈希函数顺序下进行查找,直到找到目标元素时返回;若遇到空位或已尝试所有哈 希函数,说明哈希表中不存在该元素,则返回 None 。 与线性探测相比,多次哈希方法不易产生聚集,但多个哈希函数会带来额外的计算量。 Tip 请注意,开放寻址(线性探测、平方探测和多次哈希)哈希表都存在“不能直接删除元素”的问题。 6.2.3 编程语言的选择 各种编程语言采取了不同的哈希表实现策略,下面举几个例子。0 码力 | 379 页 | 18.48 MB | 10 月前3
Hello 算法 1.2.0 简体中文 Dart 版射到相同的桶。而通过线性探测,它们被依次存储在该桶以及之下的桶中。 第 6 章 哈希表 www.hello‑algo.com 124 图 6‑6 开放寻址(线性探测)哈希表的键值对分布 然而,线性探测容易产生“聚集现象”。具体来说,数组中连续被占用的位置越长,这些连续位置发生哈希冲 突的可能性越大,从而进一步促使该位置的聚堆生长,形成恶性循环,最终导致增删查改操作效率劣化。 值得注意的是,我们不能在开放寻 平方探测主要具有以下优势。 第 6 章 哈希表 www.hello‑algo.com 128 ‧ 平方探测通过跳过探测次数平方的距离,试图缓解线性探测的聚集效应。 ‧ 平方探测会跳过更大的距离来寻找空位置,有助于数据分布得更加均匀。 然而,平方探测并不是完美的。 ‧ 仍然存在聚集现象,即某些位置比其他位置更容易被占用。 ‧ 由于平方的增长,平方探测可能不会探测整个哈希表,这意味着即使哈希表中有空桶,平方探测也可能 ,以此类推,直到找到空位后插入元素。 ‧ 查找元素:在相同的哈希函数顺序下进行查找,直到找到目标元素时返回;若遇到空位或已尝试所有哈 希函数,说明哈希表中不存在该元素,则返回 None 。 与线性探测相比,多次哈希方法不易产生聚集,但多个哈希函数会带来额外的计算量。 Tip 请注意,开放寻址(线性探测、平方探测和多次哈希)哈希表都存在“不能直接删除元素”的问题。 6.2.3 编程语言的选择 各种编程语言采取了不同的哈希表实现策略,下面举几个例子。0 码力 | 378 页 | 18.46 MB | 10 月前3
Hello 算法 1.2.0 简体中文 Kotlin 版据此哈希函数,最后两位相同的 key 都会被映 射到相同的桶。而通过线性探测,它们被依次存储在该桶以及之下的桶中。 图 6‑6 开放寻址(线性探测)哈希表的键值对分布 然而,线性探测容易产生“聚集现象”。具体来说,数组中连续被占用的位置越长,这些连续位置发生哈希冲 突的可能性越大,从而进一步促使该位置的聚堆生长,形成恶性循环,最终导致增删查改操作效率劣化。 值得注意的是,我们不能在开放寻 定的步数,而是跳过“探测次数的平方”的步数,即 1, 4, 9, … 步。 平方探测主要具有以下优势。 ‧ 平方探测通过跳过探测次数平方的距离,试图缓解线性探测的聚集效应。 ‧ 平方探测会跳过更大的距离来寻找空位置,有助于数据分布得更加均匀。 然而,平方探测并不是完美的。 ‧ 仍然存在聚集现象,即某些位置比其他位置更容易被占用。 ‧ 由于平方的增长,平方探测可能不会探测整个哈希表,这意味着即使哈希表中有空桶,平方探测也可能 ,以此类推,直到找到空位后插入元素。 ‧ 查找元素:在相同的哈希函数顺序下进行查找,直到找到目标元素时返回;若遇到空位或已尝试所有哈 希函数,说明哈希表中不存在该元素,则返回 None 。 与线性探测相比,多次哈希方法不易产生聚集,但多个哈希函数会带来额外的计算量。 Tip 请注意,开放寻址(线性探测、平方探测和多次哈希)哈希表都存在“不能直接删除元素”的问题。 6.2.3 编程语言的选择 各种编程语言采取了不同的哈希表实现策略,下面举几个例子。0 码力 | 382 页 | 18.48 MB | 10 月前3
Hello 算法 1.2.0 简体中文 JavaScript 版射到相同的桶。而通过线性探测,它们被依次存储在该桶以及之下的桶中。 第 6 章 哈希表 www.hello‑algo.com 123 图 6‑6 开放寻址(线性探测)哈希表的键值对分布 然而,线性探测容易产生“聚集现象”。具体来说,数组中连续被占用的位置越长,这些连续位置发生哈希冲 突的可能性越大,从而进一步促使该位置的聚堆生长,形成恶性循环,最终导致增删查改操作效率劣化。 值得注意的是,我们不能在开放寻 定的步数,而是跳过“探测次数的平方”的步数,即 1, 4, 9, … 步。 平方探测主要具有以下优势。 ‧ 平方探测通过跳过探测次数平方的距离,试图缓解线性探测的聚集效应。 ‧ 平方探测会跳过更大的距离来寻找空位置,有助于数据分布得更加均匀。 然而,平方探测并不是完美的。 ‧ 仍然存在聚集现象,即某些位置比其他位置更容易被占用。 ‧ 由于平方的增长,平方探测可能不会探测整个哈希表,这意味着即使哈希表中有空桶,平方探测也可能 ,以此类推,直到找到空位后插入元素。 ‧ 查找元素:在相同的哈希函数顺序下进行查找,直到找到目标元素时返回;若遇到空位或已尝试所有哈 希函数,说明哈希表中不存在该元素,则返回 None 。 与线性探测相比,多次哈希方法不易产生聚集,但多个哈希函数会带来额外的计算量。 Tip 请注意,开放寻址(线性探测、平方探测和多次哈希)哈希表都存在“不能直接删除元素”的问题。 6.2.3 编程语言的选择 各种编程语言采取了不同的哈希表实现策略,下面举几个例子。0 码力 | 379 页 | 18.47 MB | 10 月前3
共 53 条
- 1
- 2
- 3
- 4
- 5
- 6













