利用merge存储引擎来实现分表
我觉得这种方法比较适合,那些没有事先考虑,而已经出现了得,数据查询慢的情况。这个时候如果要把已有的大数据量表分开比较痛苦,最痛苦的事就是改代码,因为程序里面的sql语句已经写好了,现在一张表要分成几十张表,甚至上百张表,这样sql语句是不是要重写呢?举个例子,我很喜欢举子
mysql>show engines;的时候你会发现mrg_myisam其实就是merge。
第一步:建立user1及users
CREATE TABLE user1 (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name CHAR(20), pass CHAR(32), sex tinyint(1)) ENGINE=Myisam;
CREATE TABLE users (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name CHAR(20), pass CHAR(32), sex tinyint(1)) ENGINE=MERGE UNION=(user1) INSERT_METHOD=LAST;
INSERT INTO users (name,pass,sex) VALUES ('user11','123456',1),('user12','123456',1),('user13','123456',0);
第二步:建立user2及修改users
CREATE TABLE user2 (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name CHAR(20), pass CHAR(32), sex tinyint(1)) ENGINE=Myisam;
ALTER TABLE users UNION=(user1,user2) INSERT_METHOD=LAST;
INSERT INTO users (name,pass,sex) VALUES ('user21','123456',1),('user22','123456',1),('user23','123456',0);
第三步:建立user3及修改users
CREATE TABLE user3 (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, name CHAR(20), pass CHAR(32), sex tinyint(1)) ENGINE=Myisam;
ALTER TABLE users UNION=(user1,user2,user3) INSERT_METHOD=LAST;
INSERT INTO users (name,pass,sex) VALUES ('user31','123456',1),('user32','123456',1),('user33','123456',0);
利用merge存储引擎来实现分表的更多相关文章
- MYSQL利用merge存储引擎来实现分表
创建user1和user2两个分表 建表语句如下:只是表名不一样,其他字段信息及主键一致. CREATE TABLE IF NOT EXISTS user1( id INT(11) NOT NUL ...
- 使用Merge存储引擎实现MySQL分表
一.使用场景 Merge表有点类似于视图.使用Merge存储引擎实现MySQL分表,这种方法比较适合那些没有事先考虑分表,随着数据的增多,已经出现了数据查询慢的情况. 这个时候如果要把已有的大数据量表 ...
- MySQL MERGE存储引擎
写这篇文章,主要是因为面试的时候,面试官问我怎样统计所有的分表(假设按天分表)数据,我说了两种方案,第一种是最笨的方法,就是循环查询所有表数据(肯定不能采用):第二种方法是,利用中间件,每天定时把前一 ...
- 用Merge存储引擎中间件实现MySQL分表
觉得一个用Merge存储引擎中间件来实现MySQL分表的方法不错. 可以看下这个博客写的很清楚--> http://www.cnblogs.com/xbq8080/p/6628034.html ...
- Mysql的Merge存储引擎实现分表查询
对于数据量很大的一张表,i/o效率底下,分表势在必行! 使用程序分,对不同的查询,分配到不同的子表中,是个解决方案,但要改代码,对查询不透明. 好在mysql 有两个解决方案: Partition(分 ...
- MySQL MERGE存储引擎 简介及用法
MERGE存储引擎把一组MyISAM数据表当做一个逻辑单元来对待,让我们可以同时对他们进行查询.构成一个MERGE数据表结构的各成员MyISAM数据表必须具有完全一样的结构.每一个成员数据表的数据列必 ...
- MySQL MERGE存储引擎 简介
MERGE存储引擎把一组MyISAM数据表当做一个逻辑单元来对待,让我们可以同时对他们进行查询.构成一个MERGE数据表结构的各成员MyISAM数据表必须具有完全一样的结构.每一个成员数据表的数据列必 ...
- Mysql 之 MERGE 存储引擎
MERGE 存储引擎把一组 MyISAM 数据表当做一个逻辑单元来对待,让我们可以同时对他们进行查询.构成一个 MERGE 数据表结构的各成员 MyISAM 数据表必须具有完全一样的表结构.每一个成员 ...
- merge存储引擎基本介绍和使用规范说明
[以下两段截自MySql手册]: merge存储引擎,也被认识为mrg_myisam引擎,是一个"相同“的表可以被当作一个表来用的myisam表的集合.“相同”意味着所有表同样的列和索引信息 ...
随机推荐
- Android 仿微信滑动删除
做这个功能主要是项目需要:找了很多资料但是效果都不理想,后来就自己研究写了一个,拿出来共享给大家,贴上代码大家慢慢看看,还是比较容易懂的. 主要代码: package com.zbq.widget; ...
- 纯CSS3实现自定义涂鸦风格的边框
今天我们要来分享一款基于纯CSS3的自定义边框应用,看上去它像一个Tooltip控件,因为下边框有一个小三角,就像很多地方的引用文本框一样.另外这款CSS3边框是涂鸦风格的,看起来很有个性.用CSS3 ...
- linux下不重启加硬盘
linux下热加载磁盘 临时给虚拟机加了一块硬盘,增加后懒得重启,于是看了看热加载 [root@centos5 ~]# cat /proc/scsi/scsi Attached devices: Ho ...
- linux新建磁盘并分区
先在虚拟机上添加一块硬盘. 查看磁盘分区:sdb还没有分配 新建一个100M的分区:再查看,发现新建成功了. 再查看fdisk -l ******ext4格式不支持.就使用了ext2进行格式化了. m ...
- log4j日志输出配置
# Configure logging for testing: optionally with log filelog4j.rootLogger=WARN, stdoutlog4j.rootLogg ...
- iOS开发那些事儿(二)热补丁
一.热补丁作用:修复导致崩溃的错误.替换/增加方法.替换原来的界面等等 二.实现手段:JSPatch (使用Objective-C Objective-C和JavaScript jspatch桥.你可 ...
- 浅谈C中的指针和数组(二)
原文转载地址:http://see.xidian.edu.cn/cpp/html/475.html 在原文的基础上增加自己的想法作为修改 很多初学者弄不清指针和数组到底有什么样的关系.我现在就告诉你: ...
- 基于nginx+lua简单的灰度发布系统
upstream.conf upstream grey_1 { keepalive 1000; server localhost:8020; } upstream grey_2 { keepalive ...
- 项目中怎么去掉tomcat的猫
其实很简单,需要在登录页和显示内容的主页,将自己的favicon.ico 导入,并在登录页和主页将其引入即可. 例如: 接着在登录页引入 <link rel="shortcut ic ...
- javascript事件小结(事件处理程序方式)--javascript高级程序设计笔记
1.事件流:描述的是从页面中接收事件的顺序. 2.事件冒泡:IE的事件流叫做事件冒泡,即事件开始从具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播到不具体的节点(文档). 3.事件捕获 ...