Mysql分区表局限性总结.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Mysql分区表局限性总结 Mysql分区表局限性总结 昨天晚上asers.z问我怎么样使得数据在搜索的时候和58.com差不多,而且展示数据的速度要快。我一直想着用mysql的分区表解决,而乔楚(乔大姐)则认为是采用sphinx来解决。 但后来我找了一个资料才发现,原来分区表还是有局限性的,比如他就不支持全文索引。我是看这里看到的。。 --START-- Mysql5.1已经发行很久了,本文根据官方文档的翻译和自己的一些测试,对Mysql分区表的局限性做了一些总结,因为个人能力以及测试环境的 原因,有可能有错误的地方,还请大家看到能及时指出,当然有兴趣的朋友可以去官 方网站查阅。 本文测试的版本 XML/HTML代码 mysql select version(); ++ | version() | ++ | 5.1.33-log | ++ 1 row in set (0.00 sec) 一、关于Partitioning Keys, Primary Keys, and Unique Keys的限制 在5.1中分区表对唯一约束有明确的规定,每一个唯一约束必须包含在分区表的分区键(也包括主键约束)。 这句话也许不好理解,我们做几个实验: SQL代码 CREATE TABLE t1 ( id INT NOT NULL, uid INT NOT NULL, PRIMARY KEY (id) ) PARTITION BY RANGE (id) (PARTITION p0 VALUES LESS THAN(5) ENGINE = INNODB, PARTITION p1 VALUES LESS THAN(10) ENGINE = INNODB ); CREATE TABLE t1 ( id INT NOT NULL, uid INT NOT NULL, PRIMARY KEY (id) ) PARTITION BY RANGE (id) (PARTITION p0 VALUES LESS THAN(5) ENGINE = MyISAM DATA DIRECTORY=/tmp INDEX DIRECTORY=/tmp, PARTITION p1 VALUES LESS THAN(10) ENGINE = MyISAM DATA DIRECTORY=/tmp INDEX DIRECTORY=/tmp ); mysql CREATE TABLE t1 - ( id INT NOT NULL, - uid INT NOT NULL, - PRIMARY KEY (id), - UNIQUE KEY (uid) - ) - PARTITION BY RANGE (id) - (PARTITION p0 VALUES LESS THAN(5), - PARTITION p1 VALUES LESS THAN(10) - ); ERROR 1503 (HY000): A UNIQUE INDEX must include all columns in the tables partitioning function 二、关于存储引擎的限制 2.1 MERGE引擎不支持分区,分区表也不支持merge。 2.2 FEDERATED引擎不支持分区。这限制可能会在以后的版本去掉。 2.3 CSV引擎不支持分区 2.4 BLACKHOLE引擎不支持分区 2.5 在NDBCLUSTER引擎上使用分区表,分区类型只能是KEY(or LINEAR KEY) 分区。 2.6 当升级MYSQL的时候,如果你有使用了KEY分区的表(不管是什么引擎,NDBCLUSTER除外),那么你需要把这个表dumped在 reloaded。 2.7 分区表的所有分区或者子分区的存储引擎必须相同,这个限制也许会在以后的版本取消。 不指定任何引擎(使用默认引擎)。 所有分区或者子分区指定相同引擎。 三、关于函数的限制 在mysql5.1中建立分区表的语句中,只能包含下列函数: ABS() CEILING() and FLOOR() (在使用这2个函数的建立分区表的前提是使用函数的

文档评论(0)

htfyzc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档