os : linux
数据库: musql 8.0.25
今天工作中遇到了如何查询单个分区中数据的问题,记录下以便于后续再次遇到此问题就可以直接查询该文章了。
建表语句和插入数据的SQL语句如下:
drop table if exists tt;create table tt (c1 int primary key, c2 varchar(50))engine=xxx partition by hash(c1) partitions 2 (partition p1, partition p2);insert into tt values(1,'aa'), (2,'bb'), (3, 'cc'), (4, 'dd'), (5, 'ee');
其他的建表语句可以参考:MySQL中创建partition表的几种方式_一缕阳光a的博客-CSDN博客
查询单个partition中的数据的SQL如下:
mysql[test]> select * from tt;
+----+------+
| c1 | c2 |
+----+------+
| 2 | bb |
| 4 | dd |
| 1 | aa |
| 3 | cc |
| 5 | ee |
+----+------+
5 rows in set (0.01 sec)mysql[test]> select * from tt partition (p1);
+----+------+
| c1 | c2 |
+----+------+
| 2 | bb |
| 4 | dd |
+----+------+
2 rows in set (0.01 sec)mysql[test]> select * from tt partition (p2);
+----+------+
| c1 | c2 |
+----+------+
| 1 | aa |
| 3 | cc |
| 5 | ee |
+----+------+
3 rows in set (0.01 sec)