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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vue html编辑器_基于vue的低代码编辑器

    vue html编辑器_基于vue的低代码编辑器最近需要用到富文本编辑器插件,项目是用VUE框架搭建的所以这里就专门介绍几款有关vue的富文本插件:项目中趟过了很多坑,特记下供大家借鉴,希望大家不要重滔我的复撤本文章只介绍插件具体使用方式可自行百度由于编辑器编辑的内容需要在小程序能完美显示,并且能和小程序富文本编辑器完全打通1.百度的ueditor(网上都这么说)(没有缘分,果断放弃)优势:开源,插件多,基本满足各种需求,由百度we…

    2022年10月14日
    2
  • python批量重命名图片序号_python实现图片文件批量重命名「建议收藏」

    python批量重命名图片序号_python实现图片文件批量重命名「建议收藏」本文实例为大家分享了python实现文件批量重命名的具体代码,供大家参考,具体内容如下代码:#-*-coding:utf-8-*-importosclassImageRename():def__init__(self):self.path=’D:/xpu/paper/plate_data’defrename(self):filelist=os.listdir(self.pat…

    2025年9月3日
    8
  • vant时间控件的使用「建议收藏」

    vant时间控件的使用「建议收藏」<template><divclass=”shoukuan”><!–头部公共搜索框–><tabbartitle=”添加团队活动”></tabbar><divclass=”con”><van-cell-group><van-fi…

    2022年5月23日
    58
  • C++ map 根据value找key、 根据key找value

    C++ map 根据value找key、 根据key找value根据value找key    有可能找到多个结果根据key找value    、、、、、、运行效果:代码很简单,如下:#include&lt;iostream&gt;#include&lt;map&gt;#include&lt;string&gt;usingnamespacestd;intmain(intargc,char*…

    2022年7月23日
    9
  • 圆形目标中心点在tof相机坐标系下的三维坐标的计算(1)

    圆形目标中心点在tof相机坐标系下的三维坐标的计算(1)将tof相机得到的深度图像转换为灰度图像,然后对灰度图像进行双边滤波,去除噪声的同时使边缘得到较好的保持,然后对滤波后的灰度图像进行hough圆变换,得到圆心在图像中的像素坐标,然后利用tof相机的点云数据,求得圆心在tof相机坐标系下的三维坐标。程序如下:#include”opencv2/core/core.hpp”#include”opencv2/highgui/highgui.h

    2022年5月25日
    38
  • unity3d 入门[通俗易懂]

    unity3d 入门[通俗易懂]unity关联vsunity安装cinemachineassetstore搜索cinemachine插件,import后确认导入后,可以在packages节点(library/packagecache中代码)找到Cinemachine如果报错(确保没有io错误):Windows>PackageManager>inproject依赖项,删除后,重新安装IO错误…

    2022年8月10日
    6

发表回复

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

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