mysql merge 引擎_【Mysql 学习】MERGE存储引擎(一)

2023-11-08

MERGE存储引擎(一)

MERGE表的问题

MERGE存储引擎,也被认识为MRG_MyISAM引擎,是一个相同的可以被当作一个来用的MyISAM表的集合。“相同”意味着所有表同样的列和索引信息。你不能合并列被以不同顺序列于其中的表,没有恰好同样列的表,或有不同顺序索引的表。而且,任何或者所有的表可以用myisampack来压缩。表选项的差异,比如AVG_ROW_LENGTH, MAX_ROWS或PACK_KEYS都不重要。

当你创建一个MERGE表之时,MySQL在磁盘上创建两个文件。文件名以表的名字开始,并且有一个扩展名来指明文件类型。一个.frm文件存储表定义,一个.MRG文件包含被当作一个来用的表的名字。这些表作为MERGE表自身,不必要在同一个数据库中。

你可以对表的集合用SELECT, DELETE, UPDATE和INSERT。你必须对你映射到一个MERGE表的这些表有SELECT, UPDATE和DELETE 的权限。

如果你DROP MERGE表,你仅在移除MERGE规格。底层表没有受影响。

当你创建一个MERGE表之时,你必须指定一个UNION=(list-of-tables)子句,它说明你要把哪些表当作一个来用。如果你想要对MERGE表的插入发生在UNION列表中的第一个或最后一个表上,你可以选择地指定一个INSERT_METHOD选项。使用FIRST或LAST值使得插入被相应地做在第一或最后一个表上。如果你没有指定INSERT_METHOD选项,或你用一个NO值指定该选项。往MERGE表插入记录的试图导致错误。

下面例子说明如何创建一个MERGE表:

mysql> create table pay_2009 (

-> id int,

-> pay_date datetime,

-> amount decimal(15,3),

-> key idx_fk_id(id)

-> ) engine=myisam;

Query OK, 0 rows affected (0.06 sec)

mysql> create table pay_2010 (

-> id int,

-> pay_date datetime,

-> amount decimal(15,3),

-> key idx_fk_id(id)

-> ) engine=myisam;

Query OK, 0 rows affected (0.13 sec)

mysql> create table pay_all (

-> id int,

-> pay_date datetime,

-> amount decimal(15,3),

-> index (id)

-> ) engine=merge union=(pay_2009,pay_2010) insert_method=first;

Query OK, 0 rows affected (0.09 sec)

mysql> insert into pay_2009 values(1,'2009-09-27',10000),(2,'2009-09-17',20000);

Query OK, 2 rows affected (0.00 sec)

Records: 2  Duplicates: 0  Warnings: 0

mysql> insert into pay_2010 values(1,'2010-09-27',10000),(2,'2010-09-17',20000);

Query OK, 2 rows affected (0.02 sec)

Records: 2  Duplicates: 0  Warnings: 0

mysql>

注意,一个列在MERGEN表中被索引,但没有被宣告为一个PRIMARY KEY,因为它是在更重要的MyISAM表中。这是必要的,因为MERGE表在更重要的表中的设置上强制非唯一性。

创建MERGE表之后,你可以发出把一组表当作一体来操作的查询:

mysql> select * from pay_2009;

+------+---------------------+-----------+

| id   | pay_date            | amount    |

+------+---------------------+-----------+

|    1 | 2009-09-27 00:00:00 | 10000.000 |

|    2 | 2009-09-17 00:00:00 | 20000.000 |

+------+---------------------+-----------+

2 rows in set (0.00 sec)

mysql> select * from pay_2010;

+------+---------------------+-----------+

| id   | pay_date            | amount    |

+------+---------------------+-----------+

|    1 | 2010-09-27 00:00:00 | 10000.000 |

|    2 | 2010-09-17 00:00:00 | 20000.000 |

+------+---------------------+-----------+

2 rows in set (0.00 sec)

mysql> select * from pay_all;

+------+---------------------+-----------+

| id   | pay_date            | amount    |

+------+---------------------+-----------+

|    1 | 2009-09-27 00:00:00 | 10000.000 |

|    2 | 2009-09-17 00:00:00 | 20000.000 |

|    1 | 2010-09-27 00:00:00 | 10000.000 |

|    2 | 2010-09-17 00:00:00 | 20000.000 |

+------+---------------------+-----------+

4 rows in set (0.00 sec)

mysql> insert into pay_all values(3,'2009-12-02',80000);

Query OK, 1 row affected (0.00 sec)

mysql> select * from pay_2009;

+------+---------------------+-----------+

| id   | pay_date            | amount    |

+------+---------------------+-----------+

|    1 | 2009-09-27 00:00:00 | 10000.000 |

|    2 | 2009-09-17 00:00:00 | 20000.000 |

|    3 | 2009-12-02 00:00:00 | 80000.000 |

+------+---------------------+-----------+

3 rows in set (0.00 sec)

mysql> select * from pay_2010;

+------+---------------------+-----------+

| id   | pay_date            | amount    |

+------+---------------------+-----------+

|    1 | 2010-09-27 00:00:00 | 10000.000 |

|    2 | 2010-09-17 00:00:00 | 20000.000 |

+------+---------------------+-----------+

2 rows in set (0.00 sec)

mysql> select * from pay_all;

+------+---------------------+-----------+

| id   | pay_date            | amount    |

+------+---------------------+-----------+

|    1 | 2009-09-27 00:00:00 | 10000.000 |

|    2 | 2009-09-17 00:00:00 | 20000.000 |

|    3 | 2009-12-02 00:00:00 | 80000.000 |

|    1 | 2010-09-27 00:00:00 | 10000.000 |

|    2 | 2010-09-17 00:00:00 | 20000.000 |

+------+---------------------+-----------+

5 rows in set (0.00 sec)

注意,你也可以直接从MySQL之外直接操作.MRG文件:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

mysql merge 引擎_【Mysql 学习】MERGE存储引擎(一) 的相关文章

  • qnx的modbus开发方案及其功能使用

    qnx的modbus多用于工业自动化 锋影扣扣 174176320 e mail 174176320 qq com qnx的modbus方案有几个 有serial TCP IP等 1 使用专用的库处理 2 自行编写库 3 编写简易modbu
  • Android 应用商店跳转工具代码类 - 优化用户体验的秘密武器

    在当今的移动应用生态系统中 应用商店的存在不可或缺 为了提高应用的可见性和下载量 开发者通常会尽力将用户引导到特定的应用商店页面 在这篇博客中 我们将介绍一段名为MarketUtils的Android代码 它能够帮助您优化用户体验 将用户引
  • C#读取嵌入资源(程序集清单资源)

    一 添加嵌入的资源 1 新建一窗体应用程序 用于演示该程序集运行时访问嵌入资源 2 用鼠标右键单击项目名称 单击添加 添加新建项 然后单击添加新项 3 在新建项目对话框中 从菜单上 选择文本文件 并命名为 MyTextFile txt 的文
  • [机器学习与scikit-learn-39]:环境-Jupter Notebook无法支持3D交互式绘图模式解决办法(No module named ‘ipywidgets‘ jupter)

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 123836138 目录 问题描述 一
  • XMPP客户端库Smack 4.1.4版官方开发文档之一

    本文转载自 博客主页 http blog csdn net chszs 一 Smack库概述 Smack是一个开源 易用的XMPP Jabber客户端库 它使用Java语言开发 由Jive Software开发 Smack的优点是编程简单
  • 利用python,2分钟完成1000台路由器的配置或备份

    0 实现要求 通过2个简单的脚本 检测任意网段中ssh可达的设备并链接 同时对所有设备写入任意华为命令脚本 并记录设备回显的所有内容 如1000台设备 dis cu 显示结果 1 实验准备 此处主要是华为的设备 模拟器使用ensp 4台路由
  • 详谈IEEE浮点数编码机制

    在一些工程领域中单单依靠整数是无法满足他们对精度的需求的 这种时候就需要用到浮点数了 今天着重来聊一聊在计算机底层 浮点数的编码方式 以及它相关值的计算方式 二进制小数 在介绍浮点数之前先来看看二进制中实数可以如何表示 假设我有一个十进制的
  • VS2019中QT槽函数连接及使用

    1 qt连接VS 连接前提是在下载qt的时候将 MSVC 2017装上 点击扩展 选择管理扩展 搜索qt 选择下载 之后下载结束并重新打开后 会弹出一个 QT option 将路径填进去 2 VS中qt的使用 在qt中可以直接添加信号与槽
  • Windows如何关闭电脑休眠(适用所有Windows系统版本)

    方法一 此方法适用所有Windows系统版本电脑 1 点击开始按钮 在搜索框中输入cmd 右键点击选择以管理员身份运行 2 在打开的命令提示符窗口中 输入命令 powercfg h off 然后回车就可以了 3 如果想重新开启休眠功能 同样
  • 时间选择组件默认显示前7天日期

    1 div class st time div
  • windows下openGLES 3.0 配合 vs 环境搭建(二)

    在 http blog csdn net dardgen2015 article details 51563914 中 讨论了怎样搭建openGLes 3 0的环境 但是这种方法需要CMake的配合 不是很方便 接下来我们看看怎样搭建可以不
  • Double型比较大小 compareTo()

    public class DoubleCompare public static void main String args Double d1 100 0 Double d2 90 0 Double d3 150 005 int i 10
  • vue3自定义指令批量注册(按钮防重指令)

    vue3文档中很简单的描述了一下自定义指令
  • es分布式架构和原理分析

    es的分布式架构 前言 这篇初识ElasticSearch文章中 说明了es的集群的核心概念 回顾一下 关于节点 一个运行中的 es实例称为一个节点 而集群是由一个或者多个拥有相同cluster name 配置的节点组成 它们共同承担数据和
  • 计算机四级网络工程师(计算机网络单选)- 知识点

    计算机四级网络工程师 操作系统单选 计算机四级网络工程师 操作系统多选 计算机四级网络工程师 计算机网络单选 计算机四级网络工程师 计算机网络多选 一 Ethernet 1 Ethernet帧结构一般包含前导码 帧前定界符 目的地址 源地址
  • Device Association Service占用CPU - 解决方案

    问题 电脑开启蓝牙后 连接蓝牙设备时 服务主机 Device Association Service服务可能会占用大量CPU 在任务管理器中可以查看 若占用CPU持续超过10 则属于异常状态 由于本人问题已经解决 因此没有问题截图 下文介绍
  • 用R做中文LDA主题模型可视化分析

    LDA主题模型在2002年被David M Blei Andrew Y Ng 是的 就是吴恩达老师 和Michael I Jordan三位第一次提出 近几年随着社会化媒体的兴起 文本数据成为越来越重要的分析资料 海量的文本数据对社会科学研究
  • 99_好题整理1—鸡兔同笼

    F 鸡兔同笼 内存限制 128 MiB 时间限制 3000 ms标准输入输出 题目描述 已知鸡和兔的总数量为n 总腿数为m 输入n和m 依次输出鸡和兔的数目 如果无解 则输出 No answer 不要引号 输入格式 第一行输入一个数据a 代
  • 实用 SQL 语句收藏这篇就够了

    前言 文章沿着设计一个假想的应用 awesome app 为主线 从零创建修改数据库 表格 字段属性 索引 字符集 默认值 自增 增删改查 多表查询 内置函数等实用 SQL 语句 收藏此文 告别零散又低效地搜索经常使用的 SQL 语句 所有

随机推荐

  • STM32程序卡死HardFault_Handler

    在工作过程中移植部分功能程序后发现程序经常性莫名卡死 然后就一直在HardFault Handler中断卡死 解决如下 1 首先去网上查询了出现HardFault Handler是由于什么原因造成 1 堆栈溢出 这个可能性不大 2 数组越界
  • Scrapy+bs4爬取京东商品对应的评论信息

    Scrapy bs4爬取京东商品对应的评论信息 spiders comm py coding utf 8 import json import jsonpath import scrapy from bs4 import Beautiful
  • tomcat端口介绍以及配置启用https

    一 tomcat 默认端口
  • 步进电动机 - 特征篇(一)

    第1章 步进电动机特征篇 1 1 步进电动机特征 步进电动机是如同时钟的秒针一般 每次旋转一定角度的电动机 首先 介绍一下步进电动机的特征 链接 https www orientalmotor com cn web seminar stki
  • 添加区块到区块链当中003

    package main import crypto sha256 fmt 0 定义结构 创建前哈希值 创建当前哈希值 和数据 type Block struct Prevhash byte 前哈希 Hash byte 当前哈希 TODO
  • 【三维重建】【深度学习】NeRF_Pytorch代码--预备基础知识

    三维重建 深度学习 NeRF Pytorch代码 预备基础知识 给定一个场景的多视角的图像 神经辐射场 NeRF 通过图像重建误差优化一个神经场景表征 优化后可以实现逼真的新视角合成效果 NeRF最先是应用在新视点合成方向 由于其超强的隐式
  • 面试/笔试第三弹 —— 数据库面试问题集锦

    写在前面 找工作告一段落 期间经历了很多事情 也思考了许多问题 最后也收获了一些沉甸甸的东西 成长和一些来自阿里 百度 京东 sp 华为等厂的Offer 好在一切又回到正轨 接下来要好好总结一番才不枉这段经历 遂将此过程中笔者的一些笔试 面
  • 【JAVASCRIPT】javascript随机生成颜色8种方法

    实现1 JavaScript代码 var getRandomColor function return function color return color 0123456789abcdef Math floor Math random
  • FFMPEG常用命令

    FFmpeg编码和支持 FFmpeg源代码中包含的编码格式很多 常见不常见的都可以在编译皮质列表中见到 可以通过的编译配置命令 configure list encoders 常见的编码器的格式有 AAC AC3 H 264 H 265 M
  • Qt中连接两个字符串,并在其中添加换行符

    Qt中连接两个字符串 并在其中添加换行符 在Qt中想要将两个字符串连接在一起 只需要在两个字符串之间加入 即可 输出显示即为两个字符串连在一起 如果想在字符串后面加入换行符 然后再连接另一个字符串 直接在字符串后面添加 n 是行不通的 这里
  • SMIL 直播协议

    Synchronized Multimedia Integration Language SMIL sma l is a World Wide Web Consortium recommended Extensible Markup Lan
  • js实现表格排序

    用js实现表格排序 第一点击以降序排列 第二次点击以升序排列 html代码 table border 1 tr th 学号 th th 名字 th th 成绩 th tr tr td 100 td tr table
  • 自建minio实现doris的快速备份与恢复

    一 概述 doris支持通过腾讯云bos 阿里云oss hdfs实现备份与恢复 但是我们公司doris部署在线下机房 如采用oss bos 大数据备份与恢复比较慢 会占用一定的带宽 如采用hdfs 担心小文件太多影响现有的hadoop集群
  • java基础总结——java面向对象讲解

    Java面向对象 对象的概念及面向对象的三个基本特征 对象的概念 Java 是面向对象的编程语言 对象就是面向对象程序设计的核心 所谓对象就是真实世界中的实体 对象与实体是一一对应的 也就是说现实世界中每一个实体都是一个对象 它是一种具体的
  • Python 进阶知识

    初级选手 Python 基础知识 Aimin20210819的博客 CSDN博客 python动态实例化对象 目录 1 Python简写法 2 Python三元运算符 3 Python获取路径和重名文件
  • 编程式事务

    Resource private TransactionTemplate transactionTemplate transactionTemplate execute transactionStatus gt List
  • Ubuntu安装Redis

    安装环境 Ubuntu 18 04 64位 一 安装 1 1 更新仓库 非必须 sudo apt update 1 2 使用 apt 从官方 Ubuntu 存储库来安装 Redis sudo apt get install redis se
  • 矩阵乘法实现卷积运算

    利用Matrix Multiplication实现Convolutions 以feature map channel 1 stride 1 padding 0为例 解决 1 如何将feature map和 filter kernel进行un
  • 原子指标和衍生/派生指标

    按照个人的理解 不加任何修饰词的指标就是原子指标 也叫度量 一般存在于olap表中 例如订单量 用户量的等等 而在原子指标上进行加减乘除或者修饰词的限定等等都是派生指标 衍生 派生指标 原子指标 时间周期 修饰词 例如 近7天订单量 近7天
  • mysql merge 引擎_【Mysql 学习】MERGE存储引擎(一)

    MERGE存储引擎 一 MERGE表的问题 MERGE存储引擎 也被认识为MRG MyISAM引擎 是一个相同的可以被当作一个来用的MyISAM表的集合 相同 意味着所有表同样的列和索引信息 你不能合并列被以不同顺序列于其中的表 没有恰好同