1.merge简介分表就是把N条记录的表,分成若干个分表,各个分表记录的总和仍为N。
分表的方法有很多,用merge来分表,是最简单的一种方式.merge是mysql的一种存储引擎,它把一组MyISAM数据表当做一个逻辑单元.
CREATE TABLE`t` (`id`int(10) unsigned NOT NULL AUTO_INCREMENT, `data`varchar(45) NOT NULL, PRIMARY KEY(`id`)) ENGINE = MERGE UNION = (t1, t2) INSERT_METHOD = LAST;
其中ENGINE = MERGE表示,使用merge引擎。另外ENGINE = MRG_MyISAM是一样的意思。UNION = (t1, t2)表示,挂接了t1,
t2表INSERT_METHOD = LAST表示,插入方式。0不允许插入,FIRST插入到UNION中的第一个表,LAST插入到UNION中的最后一个表.
2.merge数据存储结构mysql中MyISAM引擎下每一张表都对应三个文件: .MYD数据文件,.MYI索引文件,.frm表结构文件.但是Merge引擎下每一张表只有一个.MRG文件.MRG里面存放着分表的关系,以及插入数据的方式。它就像是一个外壳,或者是连接池,
数据存放在分表里面.
3.CRUD对于增删改查,直接操作总表t就可以了。
4.注意事项
a.重复记录 / 重复索引若建立merge表前,分表t1 / t2已经存在,并且t1 / t2中存在重复记录。查询时,遇到满足记录的条目就会返回。意思就是只会显示一条记录,同时不会报错.若建立merge表后,insert / update时,出现重复索引,则会提示错误。MERGE表只对建表之后的操作负责
b.如何删除一个分表不能直接删除一个分表,这样会破坏merge表。正确的方法是: alter table t ENGINE = MRG_MyISAM UNION = (t1) INSERT_METHOD = LAST;
drop table t1
c.误删merge总表误删merge表,是不会造成数据丢失的,只需重新创建总表

mysql下merge分表的更多相关文章

  1. MySql分区、分表和分库

    MySql分区.分表和分库 数据库的数据量达到一定程度之后,为避免带来系统性能上的瓶颈.需要进行数据的处理,采用的手段是分区.分片.分库.分表. 一些问题的解释: 1.为什么要分表和分区? 日常开发中 ...

  2. MySQL订单分库分表多维度查询

    转自:http://blog.itpub.net/29254281/viewspace-2086198/ MySQL订单分库分表多维度查询  MySQL分库分表,一般只能按照一个维度进行查询. 以订单 ...

  3. MySQL+MyCat分库分表 读写分离配置

    一. MySQL+MyCat分库分表 1 MyCat简介 java编写的数据库中间件 Mycat运行环境需要JDK. Mycat是中间件.运行在代码应用和MySQL数据库之间的应用. 前身 : cor ...

  4. php面试专题---mysql数据库分库分表

    php面试专题---mysql数据库分库分表 一.总结 一句话总结: 通过数据切分技术将一个大的MySQLServer切分成多个小的MySQLServer,既攻克了写入性能瓶颈问题,同一时候也再一次提 ...

  5. MySQL之分库分表

    MySQL之分库分表(MyCAT实现)   分库分表介绍 随着微服务这种架构的兴起,我们应用从一个完整的大的应用,切分为很多可以独立提供服务的小应用.每个应用都有独立的数据库. 数据的切分分为两种: ...

  6. 使用ShardingSphere-JDBC完成Mysql的分库分表和读写分离

    1. 概述 老话说的好:选择比努力更重要,如果选错了道路,就很难成功. 言归正传,之前我们聊了使用 MyCat 实现Mysql的分库分表和读写分离,MyCat是服务端的代理,使用MyCat的好处显而易 ...

  7. MySQL分区和分表

    一.概念 1.为什么要分表和分区?日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表.这样的表过于庞大,导致数据库在查询和插入的时候耗时太长,性能低下,如果涉及联合查询 ...

  8. mysql分区与分表的区别

    分区 分区就是把一个数据表的文件和索引分散存储在不同的物理文件中. mysql支持的分区类型包括Range.List.Hash.Key,其中Range比较常用: RANGE分区:基于属于一个给定连续区 ...

  9. mysql大数据分表记录app用户的坐标数据

    最近提到一个需求.需要记录app用户在使用app中的移动轨迹,即坐标值.每分钟上传一次XY坐标,有点类似跑步软件的描线轨迹. 不考虑app如何获取,反正api只要接受到坐标数据 就记录下来保存到数据库 ...

随机推荐

  1. mongodb性能问题及原理分析

    近期忙着把一个项目从MySQL迁移到MongoDB,在导入旧数据的过程中.遇到了些许波折,犯了不少错误,但同一时候也学到了不少知识,遂记录下来. 公司为这个项目专门配备了几台高性能务器,清一色的双路四 ...

  2. PHP设置时区的方法

    第一种方法:修改php.ini文件   即:date.timezone = '修改的时区名称'   对全局有效 第二种方法:date_default_timezone_set()动态设置时区,只是当前 ...

  3. django 1.10以上版本,引入js

    引入js库 建立static文件夹:  注意上图里面static文件夹的路径,再在里面添加js文件夹,js文件夹里面就可以放我们需要的js文件了. 配置相关文件 接下来,想要使用这些js我们还需要进行 ...

  4. LeetCode Problem 35:Search Insert Position

    描述:Given a sorted array and a target value, return the index if the target is found. If not, return ...

  5. JPA概述以及它和Hibernate之间的关系

    http://www.cnblogs.com/Kevin-ZhangCG/p/8996491.html 一.JPA概述以及它和Hibernate之间的关系 1.1.Hibernate 概述 JPA J ...

  6. 【BZOJ2298】[HAOI2011]problem a DP

    [BZOJ2298][HAOI2011]problem a Description 一次考试共有n个人参加,第i个人说:“有ai个人分数比我高,bi个人分数比我低.”问最少有几个人没有说真话(可能有相 ...

  7. 《从零开始学Swift》学习笔记(Day 34)——静态属性是怎么回事?

    原创文章,欢迎转载.转载请注明:关东升的博客 我先来设计一个类:有一个Account(银行账户)类,假设它有3个属性:amount(账户金额).interestRate(利率)和owner(账户名). ...

  8. 获取html元素所在页面的坐标

    function findPosition(oElement) { var x2 = 0; var y2 = 0; var width = oElement.offsetWidth; var heig ...

  9. ASP.NET通过代码给TextBox添加事件(点击显示日历)

    private void BindDate() { tbApplyStartDate.Attributes.Add("onclick", "new Calendar(). ...

  10. 关于Apache Shiro权限框架的一些使用误区的解释

    多了不说了,进入正题,shiro是个权限框架提供权限管理等功能,网上的教程一般都是互相抄,比如<shiro:principal property="xxx"/>这个标签 ...