我的数据库中的分区表如下:
的MySQL> show create table drugs_info \ G;
Table: drugs_info
Create Table: CREATE TABLE `drugs_info` (
`did` int(11) NOT NULL AUTO_INCREMENT,
`brand_name` varchar(150) DEFAULT NULL,
`generic` varchar(500) DEFAULT NULL,
`tradename` varchar(150) DEFAULT NULL,
`manfactured` varchar(100) DEFAULT NULL,
`unit` varchar(300) DEFAULT NULL,
`type` varchar(50) DEFAULT NULL,
`quantity` varchar(50) DEFAULT NULL,
`price` float DEFAULT NULL,
PRIMARY KEY (`did`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE (did) (PARTITION p0 VALUES LE
SS THAN (1000) ENGINE = InnoDB, PARTITION p1 VALUES LESS THAN (2000) ENGINE = InnoDB, PARTITION
p2 VALUES LESS THAN MAXVALUE ENGINE = InnoD
我为'partition po'
写了一个选择查询,它显示错误的结果如下:
mysql> select count(*) from drugs_info p0;
count(*)
----------
64378
我在上面的选择查询中除了以下结果:
count(*)
---------
1000
答案 0 :(得分:1)
语法为:
SELECT count(*) FROM drugs_info PARTITION (p0) ;
另外,使用分区时要小心。有时它们具有逻辑意义,如按月分区的销售表。在你的情况下,它看起来很随意;你可以决定在六个月后完全重新设计你的分区,你也必须改变你的代码。