首页 » 数据库 » mysql分表技术 mysql merge存储引擎

mysql分表技术 mysql merge存储引擎

高蒙 2015/12/04 08:59 2.5k浏览 0评论 Mysql


最近项目中,遇到数据库分表的问题,所以经过实践,得到下面的方法。我用的是Navicat for mysql 软件直接新建的,有兴趣的可以直接用mysql语句执行。

在Mysql数据库中,Mysql Merge表有点类似于视图。下面就让我们来一起了解一下Mysql Merge表都有哪些优点,希望对您能有所帮助。

QQ截图20151204090211.jpg
 
Mysql Merge表的优点:
 
A: 分离静态的和动态的数据
B:利用结构接近的的数据来优化查询
C: 查询时可以访问更少的数据
D:更容易维护大数据集
E: 可以通过修改.mrg文件来修改Merge表,当然也可以用alter进行修改,修改后要通过FLUSH TABLES刷新表缓
存,此法可以动态增加减少子表。
 
对于merge表,需要注意的是: 
  
1  每个子表的结构必须一致,主表和子表的结构需要一致,
2  每个子表的索引在merge表中都会存在,所以在merge表中不能根据该索引进行唯一性检索。
3  子表需要是MyISAM引擎
4  REPLACE在merge表中不会工作
5  AUTO_INCREMENT 不会按照你所期望的方式工作。
 
创建Mysql Merge表的参数 INSERT_METHOD有几个参数 。
LAST  如果你执行insert 指令来操作merge表时,插入操作会把数据添加到最后一个子表中。
FIRST  同理,执行插入数据时会把数据添加到第一个子表中。
 
若建立merge表前,分表t1/t2已经存在,并且t1/t2中存在重复记录。查询时,遇到满足记录的条目就会返回。
意思就是只会显示一条记录,同时不会报错.
若建立merge表后,insert/update时,出现重复索引,则会提示错误。MERGE表只对建表之后的操作负责。
 

 




相关文章

我有话说

站长昵称:(*)

输入内容:

选个头像:

评论列表

    ...

    高蒙

    男, PHP程序猿

    文章

    487

    标签

    42

    热度

    10w+

    南京, 江苏, 中国

    人生要是没有理想, 那跟咸鱼有什么分别。