当前位置: 首页 > article >正文

MySQL LIST Partitioning 问题求解/吐槽

背景:MySQL在使用列表分区时,想申明一个默认分区键的分区表,不能创建成功,具体如下

CREATE TABLE aa (
  c1 INT NOT NULL,
  c2 VARCHAR(20),
  c3 INT NOT NULL,
  c4 VARCHAR(20)
)
PARTITION BY LIST(c1) (
  PARTITION p_1 VALUES IN (1,2,3),
  PARTITION p_default VALUES in (DEFAULT) -- 错误写法
);

想要达到的目的是新增数据c1在非(1,2,3) 的情况下也能将数据存在p_default,官方文档如下

Unlike the case with RANGE partitioning, there is no “catch-all” such as MAXVALUE; all expected values for the partitioning expression should be covered in PARTITION … VALUES IN (…) clauses. An INSERT statement containing an unmatched partitioning column value fails with an error.

暂时没有发现MySQL能够解决这个问题的方案,如果MySQL没有解决上述情况,LIST Partitioning就没那么好用…

使用过PostgreSQL,感觉pgsql这一块做的就比较好,声明式分区

CREATE TABLE aa (
  c1 INT NOT NULL,
  c2 VARCHAR(20),
  c3 INT NOT NULL,
  c4 VARCHAR(20)
) PARTITION BY LIST (c1);

CREATE TABLE p_1 PARTITION OF aa FOR VALUES IN (1,2,3);
CREATE TABLE p_default PARTITION OF aa default;

INSERT INTO aa (c1,c2,c3,c4)
VALUES(1,'2',3,'4'),
(2,'3',4,'5'),
(3,'4',5,'6'),
(4,'5',6,'7');

大家在使用数据库时会遇到什么样的奇怪的问题呢,可以在评论区讨论一下。

最近一段时间或者工作使用什么关系型数据库比较多呢


http://www.kler.cn/a/448294.html

相关文章:

  • Android 蓝牙Bluedroid线程池设计思路介绍
  • Qt Quick:CheckBox 复选框
  • JVM对象分配内存如何保证线程安全?
  • Java基于SSM框架的无中介租房系统小程序【附源码、文档】
  • CMD使用SSH登陆Ubuntu
  • 图书馆管理系统(三)基于jquery、ajax
  • 解锁大数据治理的“密码”与应用奥秘
  • ApacheStruts2 目录遍历与文件上传漏洞复现(CVE-2024-53677,S2-067)(附脚本)
  • 《测试开发方法论》-追踪溯源
  • 【钉钉群聊机器人定时发送消息功能实现】
  • C++ 哈希表封装unordered_map 和 unordered_set
  • 浅谈ORACLE中间件SOA BPM,IDM,OID,UCM,WebcenterPortal服务器如何做迁移切换
  • FLV视频封装格式详解
  • SSM 驱动的 JAVA 网络直播带货查询系统设计及 JSP 成功实现解析
  • 如何确保Java爬虫不超出API使用限制:策略示例
  • Vue 环境变量配置、使用方法、注意事项
  • HTML综合案例
  • C++设计模式:享元模式 (附文字处理系统中的字符对象案例)
  • pro文件转换为CMakeLists.txt文件,QT官方工具使用教程
  • vue+springboot+cas配置及cookie传递问题
  • 现代密码学总结(下篇)
  • Golang中的Map是怎么遍历的
  • 面试题整理9----谈谈对k8s的理解1
  • Rocky Linux 9安装RabbitMQ
  • 设计模式之结构型
  • 【ArcGIS Pro微课1000例】0064:栅格目录、栅格数据集、镶嵌数据集