# キャッシュテーブル

+ テーブルのデータ量は大きくないです
+ 一度書き込んで何度も読み込める（`WORM`）テーブルに最適です

![`smart`](HotSubtableCache_aa_002_20220509.png)

------------------------------------------------------------------------
TiDBはv6.0.0でキャッシュテーブル機能を導入しました。この機能は、頻繁にアクセスされ、まれに変更されるホットスポットの小さなテーブルに適しています。つまり、テーブル全体のデータがTiDBサーバーのメモリにロードされ、その後テーブルデータはメモリから直接取得できるようになり、TiKVノードからテーブルデータを取得する必要がなくなり、読み取りパフォーマンスが向上します。

以下の方法を使用してテーブルをキャッシュすることができます：

```
CREATE TABLE users (
    id BIGINT,
    name VARCHAR(100),
    PRIMARY KEY(id)
);

ALTER TABLE users CACHE;
```

テーブルキャッシュ機能は、以下の特徴を持つテーブルに適しています：
- テーブルのデータ量は少ないです。
- ほぼ読み取り専用のテーブル
- テーブルは頻繁にアクセスされ、より良い読み取りパフォーマンスが期待されています。

TiDBは現在、キャッシュテーブルごとに64MBの制限があります。テーブルが64MBを超える場合、`ALTER TABLE t CACHE`は失敗します。
