mysql中的key 分区为什么总是一半有数据,一半没有数据?
CREATE TABLE `pis_supply_chain_a` (
`ID` varchar(50) NOT NULL,
`CMMDTY_CODE` varchar(18) NOT NULL,
`CITY_TO` varchar(12) DEFAULT NULL,
`LOGISTICS_RAD_MODE` varchar(3) DEFAULT NULL,
`CITY_FROM` varchar(12) DEFAULT NULL,
`VERSION_NO` varchar(18) DEFAULT NULL,
`CREATE_TIME` datetime DEFAULT NULL,
`UPDATE_TIME` datetime DEFAULT NULL,
`DELETE_FLAG` varchar(4) DEFAULT 'N',
PRIMARY KEY (`ID`,`CMMDTY_CODE`),
UNIQUE KEY `supply_chain_a_index` (`CMMDTY_CODE`,`CITY_TO`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='1\n3000W10'
PARTITION BY KEY (CMMDTY_CODE) PARTITIONS 10
mysql> SELECT TABLE_NAME,PARTITION_NAME,TABLE_ROWS FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_NAME ='pis_supply_chain_a';
+--------------------+----------------+------------+
| TABLE_NAME | PARTITION_NAME | TABLE_ROWS |
+--------------------+----------------+------------+
| pis_supply_chain_a | p0 | 3630867 |
| pis_supply_chain_a | p1 | 0 |
| pis_supply_chain_a | p2 | 4537399 |
| pis_supply_chain_a | p3 | 0 |
| pis_supply_chain_a | p4 | 5225392 |
| pis_supply_chain_a | p5 | 0 |
| pis_supply_chain_a | p6 | 5495859 |
| pis_supply_chain_a | p7 | 1 |
| pis_supply_chain_a | p8 | 4757965 |
| pis_supply_chain_a | p9 | 0 |
+--------------------+----------------+------------+
10 rows in set (0.35 sec)
mysql> select distinct CMMDTY_CODE from pis_supply_chain_a limit 20;
+--------------------+
| CMMDTY_CODE |
+--------------------+
| 000000000100003931 |
| 000000000100004594 |
| 000000000100005662 |
| 000000000100019670 |
| 000000000100025155 |
| 000000000100028229 |
| 000000000100028764 |
| 000000000100030935 |
| 000000000100032337 |
| 000000000100032338 |
| 000000000100033242 |
| 000000000100034839 |
| 000000000100039735 |
| 000000000100039837 |
| 000000000100039848 |
| 000000000100040161 |
| 000000000100044946 |
| 000000000100044950 |
| 000000000100048556 |
| 000000000100050836 |
+--------------------+
20 rows in set (0.02 sec)相关推荐
Oracle10个分区和Mysql分区区别详解
MySQL分区常用的是:range、list、hash、key,Oracle10g分区常用的是:range(范围分区)、list(列表分区)、hash(哈希分区)、range-hash(范围—哈希分区)、range-list(列表—复合分区)。下面通过本文详细给大家介绍Oracle10个分区和Mysql分区区别,一起看看
mysql使用教程之分区表的使用方法(删除分区表)
MySQL使用分区表的好处: 1,可以把一些归类的数据放在一个分区中,可以减少服务器检查数据的数量加快查询。2,方便维护,通过删除分区来删除老的数据。3,分区数据可以被分布到不同的物理位置,可以做分布式有效利用多个硬盘驱动器。 MySQL可以建立四种分区类型的分区: RANGE 分区:基于属于一个给定连续区间的列值,把多行分配给分区。 LIST 分区:类似于按RANGE分区,区别在于LIST分区是基于列值匹配一个离散值集合中的某个值来进行选择。 www.jb51.net HASH分区:基于用户定义的表达式的返回值来进行选择的分区,该表达式使用将要插入到表中的这些行的列值进行计算。这个函数
详解MySQL分区表
前言: 分区是一种表的设计模式,通俗地讲表分区是将一大表,根据条件分割成若干个小表。但是对于应用程序来讲,分区的表和没有分区的表是一样的。换句话来讲,分区对于应用是透明的,只是数据库对于数据的重新整理。本篇文章给大家带来的内容是关于MySQL中分区表的介绍及使用场景,有需要的朋友可以参考一下,希望对你有所帮助。 1.分区的目的及分区类型 MySQL在创建表的时候可以通过使用PARTITION BY子句定义每个分区存放的数据。在执行查询的时候,优化器根据分区定义过滤那些没有我们需要的数据的分区,这样查询就可以无需扫描所有分区,只需要查找包含需要数据的分区即可。 分区的另一个目的是将数据按照一个
MYSQL 通过分区(Partition)提升MySQL性能
MYSQL 通过分区(Partition)提升MySQL性能,看清楚,不要浪费分数,是MYSQL,不是SQL SERVER2000,有需要的可以下载.
MySQL数据库分区技术
MySQL数据库分区技术,解决多并发问题,详细描述分区流程及操作步骤


