# Static Pruning Mode - Example

```
tidb> SET @@tidb_partition_prune_mode = 'static';
Query OK, 0 rows affected (0.00 sec)

tidb> SHOW STATS_META WHERE table_name LIKE 'User';
+---------+------------+----------------+---------------------+--------------+-----------+
| Db_name | Table_name | Partition_name | Update_time         | Modify_count | Row_count |
+---------+------------+----------------+---------------------+--------------+-----------+
|  test   |    User    |       p0       | 2023-10-03 15:33:33 |      0       |     3     |
|  test   |    User    |       p1       | 2023-10-03 15:34:10 |      1       |     4     |
|  test   |    User    |       p2       | 2023-10-03 15:34:10 |      1       |     2     |
+---------+------------+----------------+---------------------+--------------+-----------+
3 rows in set (0.00 sec)

tidb> EXPLAIN SELECT * FROM User WHERE city IN ('Seattle', 'Tokyo') AND login BETWEEN '2023-09-01' AND '2024-11-30';
+----------------------+---------+-----------+--------------------------+---------------------------------------------------------------------...+
| id                   | estRows | task      | access object            | operator info                                                       ...|
+----------------------+---------+-----------+--------------------------+---------------------------------------------------------------------...+
| PartitionUnion_8     |  0.00   | root      |                          |                                                                     ...|
| ├─TableReader_11     |  0.00   | root      |                          | data:Selection_10                                                   ...|
| │ └─Selection_10     |  0.00   | cop[tikv] |                          | ge(test.user.login, 2023-09-01 00:00:00.000000), in(test.user.city, ...|
| │  └─TableFullScan_9 |  4.00   | cop[tikv] | table:User, partition:p1 | keep order:false                                                    ...|
| └─TableReader_14     |  0.00   | root      |                          | data:Selection_13                                                   ...|
|  └─Selection_13      |  0.00   | cop[tikv] |                          | ge(test.user.login, 2023-09-01 00:00:00.000000), in(test.user.city, ...|
|   └─TableFullScan_12 |  2.00   | cop[tikv] | table:User, partition:p2 | keep order:false                                                    ...|
+----------------------+---------+-----------+--------------------------+---------------------------------------------------------------------...+
7 rows in set (0.02 sec)
```
------------------------------------------------------------------------------
In `static` mode, partitioned tables utilize partition-level statistics. This is reflected in the execution plan, where the `PartitionUnion` operation is evident.

```
tidb> SET @@tidb_partition_prune_mode = 'static';
Query OK, 0 rows affected (0.00 sec)

tidb> SHOW STATS_META WHERE table_name LIKE 'User';
+---------+------------+----------------+---------------------+--------------+-----------+
| Db_name | Table_name | Partition_name | Update_time         | Modify_count | Row_count |
+---------+------------+----------------+---------------------+--------------+-----------+
|  test   |    User    |       p0       | 2023-10-03 15:33:33 |      0       |     3     |
|  test   |    User    |       p1       | 2023-10-03 15:34:10 |      1       |     4     |
|  test   |    User    |       p2       | 2023-10-03 15:34:10 |      1       |     2     |
+---------+------------+----------------+---------------------+--------------+-----------+
3 rows in set (0.00 sec)

tidb> EXPLAIN SELECT * FROM User WHERE city IN ('Seattle', 'Tokyo') AND login BETWEEN '2023-09-01' AND '2024-11-30';
+----------------------+---------+-----------+--------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
| id                   | estRows | task      | access object            | operator info                                                                                                                            |
+----------------------+---------+-----------+--------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
| PartitionUnion_8     |  0.00   | root      |                          |                                                                                                                                          |
| ├─TableReader_11     |  0.00   | root      |                          | data:Selection_10                                                                                                                        |
| │ └─Selection_10     |  0.00   | cop[tikv] |                          | ge(test.user.login, 2023-09-01 00:00:00.000000), in(test.user.city, "Seattle", "Tokyo"), le(test.user.login, 2024-11-30 00:00:00.000000) |
| │  └─TableFullScan_9 |  4.00   | cop[tikv] | table:User, partition:p1 | keep order:false                                                                                                                         |
| └─TableReader_14     |  0.00   | root      |                          | data:Selection_13                                                                                                                        |
|  └─Selection_13      |  0.00   | cop[tikv] |                          | ge(test.user.login, 2023-09-01 00:00:00.000000), in(test.user.city, "Seattle", "Tokyo"), le(test.user.login, 2024-11-30 00:00:00.000000) |
|   └─TableFullScan_12 |  2.00   | cop[tikv] | table:User, partition:p2 | keep order:false                                                                                                                         |
+----------------------+---------+-----------+--------------------------+------------------------------------------------------------------------------------------------------------------------------------------+
7 rows in set (0.02 sec)
```