# Non-Clustered Primary Key - Primary Key Access Path - `Batch_Point_Get`
+ `id` is the primary key
+ The `Batch_Point_Get` operation involves accessing two objects, namely the table and the primary key index, in order to retrieve data

```
SHOW CREATE TABLE universe.planets;

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

EXPLAIN
SELECT mass, gravity
FROM universe.planets
WHERE ~!@id IN (3,4,8)@!~;

+-------------------+---------+------+----------------------------------+------------------------------+
| id                | estRows | task | access object                    | operator info                |
+-------------------+---------+------+----------------------------------+------------------------------+
| ~!@Batch_Point_Get@!~_1 | 3.00    | root | table:planets, index:PRIMARY(id) | keep order:false, desc:false |
+-------------------+---------+------+----------------------------------+------------------------------+
```

------------------------------------------------------------------------------
In the execution plan shown on the slide, `Batch_Point_Get` operator retrieves multiple rows directly from the clustered primary key in one step. In this scenario, TiDB works as a `key-value` NoSQL database.