mysql5.7 分区表_mysql分区表学习

mysql5.7 分区表_mysql分区表学习一:怎样对已有数据的表进行表分区可以直接altertable进行修改。如:USEdba;ALTERTABLEt3PARTITIONBYRANGE(id)(PARTITIONp1VALUESLESSTHAN(5),PARTITIONp2VALUESLESSTHAN(10),PARTITIONp3VALUESLESSTHANmaxvalue);二:分区表的限制2…

大家好,又见面了,我是你们的朋友全栈君。

一:怎样对已有数据的表进行表分区

可以直接alter table进行修改。

如:

USE dba;

ALTER TABLE t3 PARTITION BY RANGE(id)

(

PARTITION p1 VALUES LESS THAN(5),

PARTITION p2 VALUES LESS THAN (10),

PARTITIONp3 VALUES LESS THAN maxvalue

);

二:分区表的限制

2.1 不支持外键

当表中一个字段建了外键,引用另一个表字段时,在该表上无法创建分区表。会报错.

Mysql 5.5:

Error Code: 1217

Cannot delete or update a parent row: aforeign key constraint fails

Mysql 5.7:

ERROR 1506 (HY000): Foreign keys are notyet supported in conjunction with partitioning

2.2 分区键必须是INT类型,或者通过表达式返回INT类型

分区键必须是INT类型,或者通过表达式返回INT类型,可以为NULL。唯一的例外是当分区类型为KEY分区的时候,可以使用其他类型的列作为分区键(BLOB or TEXT列除外)

2.3如果表中有主键和唯一索引,按主键字段进行分区时,唯一索引列应该包含分区键。

例如:t4表有个主键和唯一索引。

0818b9ca8b590ca3270a3433284dd417.png

变成分区表时会报错:

ALTER TABLE t4PARTITION BY RANGE(id)

(

PARTITION p1VALUES LESS THAN(2),

PARTITION p2VALUES LESS THAN maxvalue

)

Error Code: 1503

A UNIQUE INDEX must include all columns in the table’spartitioning function

唯一索引应该这样创建:

CREATE UNIQUEINDEX ind_age ON t4(id,age) ;

再按主键分区,就不会报错了。

2.4 目前mysql不支持空间类型和临时表类型进行分区。不支持全文索引

对临时表分区时,会报错:

Error Code: 1562

Cannot create temporary table withpartitions

CREATE TABLE t10(

id INT,

title VARCHAR(30),

FULLTEXT (title)

) ENGINE=MYISAM

PARTITION BY RANGE(id)

(

PARTITION p1 VALUES LESS THAN(9),

PARTITION p2 VALUES LESS THAN maxvalue

);

报错:

Error Code: 1214

The used table type doesn’t supportFULLTEXT indexes

对有空间类型列的表分区时,报错:

Error Code: 1178

The storage engine for the table doesn’tsupport GEOMETRY

2.5 对象限制

下面这些对象在不能出现在分区表达式

Stored functions, stored procedures, UDFs, orplugins.

Declared variables or user variables.

2.6 运算限制

支持加减乘等运算出现在分区表达式,但是运算后的结果必须是一个INT或者NULL。

支持DIV,不支持/

|, &, ^, <>, and ~ 不允许出现在分区表达式中

2.7 sql_mode限制

官方强烈建议你在创建分区表后,永远别改变mysql的sql_mode。因为在不同的模式下,某些函数或者运算返回的结果可能会不一样。

2.8 不支持query_cache

2.9 分区键不能是一个子查询

即使子查询返回的是int值或者null.

2.10 子分区

只有RANG和LIST分区能进行子分区。HASH和KEY分区不能进行子分区。

子分区必须是HASHorKEY类型。

2.11 分区表不支持INSERTDELAYED

SQL代码

mysql> insert DELAYED into user_msg_pvalues(18156629,0,0,0,0,0,0,0,0,0);

ERROR 1616 (HY000): DELAYED option not supportedfor table ‘user_msg_p’

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/143812.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SQL Server学习之路(一):建立数据库、建立表

    SQL Server学习之路(一):建立数据库、建立表0.目录1.前言2.建立数据库2.1通过SSMS建立数据库2.2通过SQL语句建立数据库3.建立表3.1通过SSMS建立表3.2通过SQL语句建立表1.前言配置是win10+SQLServer2012,使用的GUI管理工具是SQLServer2012自带的SQLServerManagementStudio(以下简称SSMS)。本系列主要学习SQLServe…

    2022年7月19日
    19
  • Postman安装与简单使用[通俗易懂]

    Postman安装与简单使用[通俗易懂]Postman使用参考文档:1.官方英文文档2.chrome插件整理的postman中文使用教程Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。官方网站:https://www.getpostman.com/下载1>、postman下载地址:1.PostmanforMAC2.Postman..

    2022年9月15日
    0
  • 项目POC_poc技术

    项目POC_poc技术PoC(ProofofConcept),即概念验证。通常是企业进行产品选型时或开展外部实施项目前,进行的一种产品或供应商能力验证工作。验证内容1、产品的功能。产品功能由企业提供,企业可以根据自己的需求提供功能清单,也可以通过与多家供应商交流后,列出自己所需要的功能;2、产品的性能。性能指标也是由企业提供,并建议提供具体性能指标所应用的环境及硬件设备等测试环境要求;3、产品的API适用性;4、产…

    2022年10月28日
    0
  • python中的%s%是什么意思

    python中的%s%是什么意思python中的%s%是什么意思它是一个字符串格式化语法(它从C借用)。请参阅“格式化字符串”:Python支持将值格式化为字符串。虽然这可以包括非常复杂的表达式,但最基本的用法是将值插入到%s占

    2022年7月6日
    28
  • ettercap 命令[通俗易懂]

    ettercap 命令[通俗易懂]本地主机:192.168.0.149目标主机:192.168.0.138/etc/ettercap/etter.dns,将dns欺骗到本机ettercap-T-q-iwlan0-Pdns_spoof-Marp////#攻击目标,网关地址-T文本模式-q安静模式P插件M开始中间人-T文本模式-G图形模式-D守护进程-M中间人-B双网卡之…

    2022年6月28日
    45
  • 学习方法——哈佛大学幸福课(积极心理学)学习笔记(下)[通俗易懂]

    学习方法——哈佛大学幸福课(积极心理学)学习笔记(下)[通俗易懂]最近刚看完哈佛大学的幸福课(又名积极心理学),真的是受益匪浅,通常心理学只研究如何消除抑郁、自卑等消极心理,但是消除了消极心理并不代表就会变得幸福,就像摆脱了痛苦并不代表获得了快乐。积极心理学的核心内容就是去分析积极心理的特点、研究如何培养他们。下面目录中加粗的章节是我认为的讲的最好的章节,从根源去分析悲观、焦虑以及完美主义等是如何产生的,然后分析它们与积极品性的关系,最后告诉我们培养积极品性…

    2022年7月25日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号