Skip to content

Commit

Permalink
Update the limitations of schema-cache (pingcap#19404)
Browse files Browse the repository at this point in the history
  • Loading branch information
Frank945946 authored Dec 26, 2024
1 parent 2b84c44 commit fe3b1df
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion schema-cache.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ summary: TiDB 对于 schema 信息采用基于 LRU 的缓存机制,在大量

在大量数据库和表的场景下,有以下已知问题:

- 单个集群的表的数量不能超过 300 万张。
- 当单个集群的表的数量超过 30 万张时,请不要将 [`tidb_schema_cache_size`](/system-variables.md#tidb_schema_cache_size-从-v800-版本开始引入) 取值设置为 `0`,否则可能导致 TiDB OOM。
- 当使用外键时,可能会增加集群 DDL 的执行时长。
- 当对表的访问没有规律,如 time1 访问一批表,time2 访问另外一批表,而且设置的 `tidb_schema_cache_size` 较小时,会导致这些 schema 信息被频繁地被逐出,频繁地被缓存,造成性能抖动。该特性比较适合被频繁访问的库和表是相对固定的场景。
- 统计信息不一定能够及时收集。
- 一些元数据信息的访问会变慢。
Expand All @@ -36,4 +39,4 @@ summary: TiDB 对于 schema 信息采用基于 LRU 的缓存机制,在大量

- 通过监控面板查看 schema 缓存的命中率和大小,以评估缓存设置是否合理。并适当调大 schema 缓存大小,以减少频繁的缓存淘汰。
-[`AUTO_ID_CACHE`](/auto-increment.md#auto_id_cache) 设置为 `1`,以防止 ID 跳变。
- 合理设置 `AUTO_RANDOM` 的分片位和保留位,避免可分配 ID 范围过小。
- 合理设置 `AUTO_RANDOM` 的分片位和保留位,避免可分配 ID 范围过小。

0 comments on commit fe3b1df

Please sign in to comment.