# 查询Paimon表数据
**批量查询**
Paimon的批量读取返回表快照中的所有数据。默认返回最新快照。
```
SELECT * FROM my_table;
```
**Metadata Columns**
Paimon支持读取隐藏的元数据列：
| 元数据列              | 说明          |
|:---|:---|
| __paimon_file_path  | 记录所在数据文件的路径。 |
| __paimon_partition | 记录的分区值。       |
| __paimon_bucket     | 记录的桶号。       |
| __paimon_row_index   | 记录在数据文件中的行索引。  |
   
```
SELECT *, __paimon_file_path, __paimon_partition, __paimon_bucket, __paimon_row_index FROM t;
```
**注意**：只有append-only表或deletion vector表支持查询元数据列。
**时间旅行**
```
-- 按快照ID查询
SELECT * FROM t VERSION AS OF 1;  
-- 按时间戳查询
SELECT * FROM t TIMESTAMP AS OF '2023-06-01 00:00:00.123';  
-- 按Tag查询
SELECT * FROM t VERSION AS OF 'my-tag';
```
**增量查询**
```
-- 读取快照12到20之间的增量数据
SELECT * FROM paimon_incremental_query('tableName', 12, 20);  
-- 读取时间戳之间的增量数据
SELECT * FROM paimon_incremental_between_timestamp('tableName', '2025-03-12 00:00:00', '2025-03-12 00:08:00');
```
**查询优化**
建议在查询时指定分区和主键过滤条件，以加速数据跳过。支持的过滤函数：
- =、\<、\<=、\>、\>=
- IN (...)
- LIKE 'abc%'
- IS NULL
Paimon依据主键对数据进行排序，从而优化点查询与范围查询的性能。在使用复合主键时，建议查询条件尽量匹配主键的最左前缀，以提升查询效率。
