# プライマリキーの非クラスタ化インデックス-`Point_Get` 例
+ **`id`**カラムはプライマリキーです
+ 実行計画出力のアクセスオブジェクトカラムによると、**`Point_Get`**操作では、データを取得するためにテーブルとプライマリキーインデックスという2つのオブジェクトにアクセスする必要があります

```
tidb> SHOW CREATE TABLE universe.planets;

tidb> CREATE TABLE `planets` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  ...
  PRIMARY KEY (`id`) /*T![clustered_index] NONCLUSTERED */,
  ...

tidb> EXPLAIN
  SELECT mass, gravity
  FROM universe.planets
  WHERE ~!@id = 3@!~;

+-------------+---------+------+----------------------------------+---------------+
| id          | estRows | task | access object                    | operator info |
+-------------+---------+------+----------------------------------+---------------+
| ~!@Point_Get@!~_1 | 1.00    | root | table:planets, index:PRIMARY(id) |               |
+-------------+---------+------+----------------------------------+---------------+
```
![`smart`](NonClusteredTableWithPrimaryKey_ja_001_20231116.png)

------------------------------------------------------------------------------
スライドに示されている実行計画では、`access object`カラムに示されているように、`Point_Get`オペレーターはインデックスとテーブルの両方からデータを取得します。この特定のシナリオでは、TiDB はリレーショナルデータベースとしてだけでなく、キーバリューNoSQLデータベースとしても機能します。その結果、`Point_Get` 操作中に2つのRPC 呼び出しが行われます。1つ目はインデックスへのアクセスに使用され、2つ目はテーブルへのアクセスに使用されます。

この章の後半では、`SELECT`と`INSERT / UPDATE / DELETE`のプロセスのセクションで、`Point_Get`に関するさらに詳しく説明します。