首页 > 开发学院  >  数据库  > 

数据库

mysql分区表的介绍

时间:2023-11-26 19:58:34阅读数:0

mysql分区表的介绍

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

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

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

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

mysql分区表的实例

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)

相关文章