MySQL- 存储引擎 MERGE 的介绍

      最近在搞一个**项目,每个站点每月的数据量近150--200万条记录,因为采用站点和日期分表机制来减轻服务器的压力,但项目中又必须对全部站点以及跨日期进行查询数据功能。
MERGE存储引擎类型允许把许多结构相同的表合并为一个大表。然后,你可以执行查询,从多个表返回的结果就像从一个表返回的结果一样,从而不需要进行联表查询。
一、MERGE 存储引擎的特性如下:
1. 类似于 SQL 中的 union机制;
2. 基本的结构必须要完全一致;
3. 基本表的存储引擎类型必须是 MYISAM;
4. MERGE 表会建立两个文件:.frm 表结构定义;.mrg union表的名字清单;
5. 定义在MERGE 表上面的约束没有任何作用,约束是由基本表控制的;

二、实例:
SQL1:建立表1
CREATE TABLE table_1(
ID INT(5) NOT NULL AUTO_INCREMENT,
VALUE VARCHAR(100) NOT NULL,
PRIMARY KEY(ID)
)TYPE=MYISAM;
SQL2:建立表2
CREATE TABLE table_2(
ID INT(5) NOT NULL AUTO_INCREMENT,
VALUE VARCHAR(100) NOT NULL,
PRIMARY KEY(ID)
)TYPE=MYISAM;

SQL3:建立MERGE表:
CREATE TABLE table_merge(
ID INT(5) NOT NULL AUTO_INCREMENT,
VALUE VARCHAR(100) NOT NULL,
PRIMARY KEY(ID)
) TYPE=MERGE UNION=(table_1, table_2) INSERT_METHOD=LAST;

在实际应用中:请注意每个基本的 AUTO_INCREMNET 自增值,就因当时没有考虑好,才导致合并的值查询出来不准确。你可以将 table_1 的 AUTO_INCREMNET = 1; table_2 的AUTO_INCREMNET= 1500001 ........

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值