【说站】mysql分区表的介绍

2022-11-24 11:22:59 浏览数 (1)

mysql分区表的介绍

说明

1、对于用户来说,分区表是一个独立的逻辑表,但底层由多个物理子表组成。

实现分区的代码实际上是通过封装一组底层表的对象,但对于SQL层来说,它是一个完全封装底层的黑盒。MySQL实现分区的方式也意味着索引也是按照分区的子表来定义的,没有全局索引。

2、用户的SQL语句需要对分区表进行优化,在SQL条件中要带上分区条件的列,这样才能将查询定位到少量的分区上。

否则就会扫描所有的分区,可以通过EXPLAINPARTITIONS来查看某个SQL语句会落在哪些分区上,从而进行SQL优化。

实例

代码语言:javascript复制
mysql> explain partitions select count(1) from user_partition where id in (1,2,3,4,5);
 ---- ------------- ---------------- ------------ ------- --------------- --------- --------- ------ ------ -------------------------- 
| id | select_type | table | partitions | type | possible_keys | key | key_len | ref | rows | Extra |
 ---- ------------- ---------------- ------------ ------- --------------- --------- --------- ------ ------ -------------------------- 
| 1 | SIMPLE | user_partition | p1,p4 | range | PRIMARY | PRIMARY | 8 | NULL | 5 | Using where; Using index |
 ---- ------------- ---------------- ------------ ------- --------------- --------- --------- ------ ------ -------------------------- 
1 row in set (0.00 sec)

以上就是mysql分区表的介绍,希望对大家有所帮助。

0 人点赞