MariaDB社区

标题: mysql 分区问题请教: [打印本页]

作者: rocy.cao    时间: 2008-9-4 14:48
标题: mysql 分区问题请教:
我的mysql 是支持分区的
mysql> show variables like '%partition%';
+-------------------+-------+
| Variable_name     | Value |
+-------------------+-------+
| have_partitioning | YES   |
+-------------------+-------+
1 row in set (0.02 sec)

我创建表的语句是这样的:
CREATE TABLE `jobstat` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `jobNo` varchar(45) DEFAULT NULL,
  `clickSum` int(10) unsigned DEFAULT NULL,
  `showSum` int(10) unsigned DEFAULT NULL,
  `mailSum` int(10) unsigned DEFAULT NULL,
  `locationid` varchar(10) DEFAULT NULL,
  `logdate` char(8) DEFAULT NULL,
  PRIMARY KEY (`id`)
)

partition by RANGE(id)(
        partition p0 values less than (5000000),
        partition p1 values less than (10000000),
        partition p2 values less than (15000000),
        partition p3 values less than maxvalue
);
我想每500万数据在一个分区内。先创建了4个分区。

第一个问题: 我显示表的时候,显示的信息如下:
mysql> show create table jobstat\G;
*************************** 1. row ***************************
       Table: jobstat
Create Table: CREATE TABLE `jobstat` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `jobNo` varchar(45) DEFAULT NULL,
  `clickSum` int(10) unsigned DEFAULT NULL,
  `showSum` int(10) unsigned DEFAULT NULL,
  `mailSum` int(10) unsigned DEFAULT NULL,
  `locationid` varchar(10) DEFAULT NULL,
  `logdate` char(8) DEFAULT NULL,
  PRIMARY KEY (`id`),
  KEY `idx_jobstat_jobNo` (`jobNo`) USING BTREE,
  KEY `idx_jobstat_logdate` (`logdate`),
  KEY `idx_jobstat_locationid` (`locationid`),
  KEY `idx_jobstat_jobNo_logdate` (`jobNo`,`logdate`) USING BTREE,
  KEY `idx_jobstat_clickSum` (`clickSum`),
  KEY `idx_jobstat_showSum` (`showSum`)
) ENGINE=MyISAM AUTO_INCREMENT=14581386 DEFAULT CHARSET=gbk /*!50100PARTITION BY RANGE (id) (PARTITION p0 VALUES LESS THAN (5000000) ENGINE= MyISAM, PARTITION p1 VALUES LESS THAN (10000000) ENGINE = MyISAM,PARTITION p2 VALUES LESS THAN (15000000) ENGINE = MyISAM, PARTITION p3VALUES LESS THAN MAXVALUE ENGINE = MyISAM) */
1 row in set (0.00 sec)

ERROR:
No query specified

这说明我创建分区成功了么,因为显示的语句把我创建分区的语句给 /* */起来了,所以感觉好像不大对似的。


第二个问题:
我往这个表中导入了数据,大约1500万条。
我可以知道具体的有哪些数据分别在那个分区么?
也就是我想检验我分区创建的效果实现没,我该怎么操作呢

第一次弄这个东西,很多不明白的地方,非常感谢。
作者: kider    时间: 2008-9-4 17:36
这两天忙,过两天回来拜读...
作者: rocy.cao    时间: 2008-9-5 09:31
内容不多啊,对于高手来说就几分钟的事情。
大哥,不是吧。那可就是下周了啊
作者: kider    时间: 2008-9-9 20:13
公司组织去了趟张家界旅游才回来^_^...

以上问题最好先看看MySQL参考手册,是最全的了:
http://mysqlpub.com/forumdisplay.php?fid=18
作者: 独步古今    时间: 2008-10-16 17:58
首先查看建表的SQL语句中有/**/是正确的,另外,想知道某个数据在哪个分区里,你采用的是范围分区,那都已经很明确了啊。




欢迎光临 MariaDB社区 (http://123.56.88.72/) Powered by Discuz! X3.2