• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > 关于mysql合并表的详细介绍

关于mysql合并表的详细介绍

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了mysql详细介绍,mysql安装详细步骤,mysql详细安装,舒尔特表详细介绍,mysql介绍等相关知识,希望本文的分享对您有所帮助

mysql创建合并表和分区表有点相似,他是mysql 的一种特性,可以把多个结构相同的myisam表合并为一个虚表,存续引擎必须是merge,当从合并表中查询就像从子表中查询一样,和视图有写相似,当创建合并表时也有自己的frm和mrg 文件。
合并表创建方法
create table t3(a  int  primary key );
create table t4(a  int  primary key );
create  table mrg(a int  primary key )  union=(t3,t4)  insert_method=last;
这里需要注意,当2个子表中有相同的列时,创建合并表并不会唯一
mysql> select * from mrg;
+---+
| a |
+---+
| 1 |
| 2 |
| 2 |
| 3 |
| 4 |
+---+
5 rows in set (0.00 sec)
mysql> select * from t3;
+---+
| a |
+---+
| 1 |
| 2 |
+---+
2 rows in set (0.00 sec)
mysql> select * from t4;
+---+
| a |
+---+
| 2 |
| 3 |
| 4 |
+---+
3 rows in set (0.00 sec)
a=2的列在父表里面并不唯一即使你使用了PRIMARY  KEY 约束也一样。
insert_method=last选项有2个值,first  和 last  他说明插入值时是在第一个表还是最有一个,一般查询访问时是顺序访问union中的表顺序的。
当删除了父表,子表任然可以访问
mysql> drop table mrg;
Query OK, 0 rows affected (0.00 sec)
mysql> select * from t3;
+---+
| a |
+---+
| 1 |
| 2 |
+---+
2 rows in set (0.00 sec);
当删除子表父表不能访问
mysql> drop table t3;
Query OK, 0 rows affected (0.00 sec)
mysql> select * from mrg;
ERROR 1168 (HY000): Unable to open underlying table which is differently define
or of non-MyISAM type or doesn't exist;
同时如果你的子表定义不一致的话,父表能创建成功,但是不能正常访问。

合并表比非合并表含有更多的文件描述符,他的访问其实是打开了子表,所以缓存中的数据可能对应有多个文件描述符,在合并表中虽然有可能有相同的值,但是只要查询找到了第一个想要的值,查询就会停止

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 5个常用的MySQL数据库管理工具详细介绍
  • 关于mysql合并表的详细介绍
  • Mysql表的七种类型详细介绍
  • MySQL DNS的使用过程详细分析
  • 详细介绍基于MySQL的搜索引擎MySQL-Fullltext
  • MySQL行级锁、表级锁、页级锁详细介绍
  • mysql中优化和修复数据库工具mysqlcheck详细介绍
  • 如何恢复Mysql数据库的详细介绍
  • Linux下安装与使用MySQL详细介绍

相关文章

  • 2018-12-05MYSQL教程关于mysql5.7.18的安装和连接教程
  • 2018-12-05常用mysql优化sql语句查询方法汇总
  • 2017-05-11Windows下MySql错误代码1045的解决方法
  • 2018-12-05忘记mysql数据库root用户密码重置方法[图文]
  • 2017-05-11MySQL复制表结构和内容到另一张表中的SQL语句
  • 2018-12-05sql 存储过程批量删除数据的语句
  • 2018-12-05如何进行MyCat的配置
  • 2018-12-05Mysql-索引总结
  • 2018-12-05mysql5.7 修改用户初始密码的方法_Mysql
  • 2018-12-05sqlserver 数据库日志备份和恢复步骤

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • MySQL学习之Java连接MySQL数据库的图文代码实例
    • Mysql经典的“8小时问题”
    • sqlserver 批量删除存储过程和批量修改存储过程的语句
    • oracle 数据库连接分析
    • mssql中获取指定日期所在月份的第一天的代码
    • 一个字段同时满足多个条件的查询
    • 查看Oracle某个进程的环境变量
    • 揭秘SQL优化技巧 改善数据库性能
    • MySQL存储过程-创建智能存储过程和检查存储过程
    • mysql-商户查询自己的交易记录

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有