MySQL社区

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 4844|回复: 6
打印 上一主题 下一主题

mysql 分区问题请教:

[复制链接]
跳转到指定楼层
1#
发表于 2008-9-4 14:48:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的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万条。
我可以知道具体的有哪些数据分别在那个分区么?
也就是我想检验我分区创建的效果实现没,我该怎么操作呢

第一次弄这个东西,很多不明白的地方,非常感谢。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享淘帖 顶 踩
2#
发表于 2008-9-4 17:36:26 | 只看该作者
这两天忙,过两天回来拜读...
3#
 楼主| 发表于 2008-9-5 09:31:29 | 只看该作者
内容不多啊,对于高手来说就几分钟的事情。
大哥,不是吧。那可就是下周了啊
4#
发表于 2008-9-9 20:13:07 | 只看该作者
公司组织去了趟张家界旅游才回来^_^...

以上问题最好先看看MySQL参考手册,是最全的了:
http://mysqlpub.com/forumdisplay.php?fid=18
5#
发表于 2008-10-16 17:58:02 | 只看该作者
首先查看建表的SQL语句中有/**/是正确的,另外,想知道某个数据在哪个分区里,你采用的是范围分区,那都已经很明确了啊。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|申请友链|小黑屋|Archiver|手机版|MySQL社区 ( 京ICP备07012489号   
联系人:周生; 联系电话:13911732319

GMT+8, 2024-6-16 00:58 , Processed in 0.066763 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表