MysqlMerge表的优点有哪些

本篇内容介绍了“MysqlMerge表的优点有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

  MysqLMerge表的优点有哪些

  A:分离静态的和动态的数据

  B:利用结构接近的的数据来优化查询

  C:查询时可以访问更少的数据

  D:更容易维护大数据集

  E:可以通过修改.mrg文件修改Merge表,当然也可以用alter进行修改修改后要通过FLUSHTABLES刷新表缓存,此法可以动态增加减少子表

  创建方法,例:

  MysqL>CREATETABLEt1(aINTNOTNULLPRIMARYKEY)ENGINE=MyISAM;

  MysqL>CREATETABLEt2(aINTNOTNULLPRIMARYKEY)ENGINE=MyISAM;

  MysqL>CREATETABLEmrg(aINTNOTNULLPRIMARYKEY)ENGINE=MERGEUNION=(t1,t2)INSERT_METHOD=LAST;

  下面添加测试数据

  MysqL>INSERTINTOt1(a)VALUES(1),(2);

  MysqL>INSERTINTOt2(a)VALUES(1),(2);

  查询一下看看结果

  MysqL>SELECTaFROMmrg;

  结果会显示出t1,t2两个表中的数据

  +------+

  |a|

  +------+

  |1|

  |2|

  |1|

  |2|

  +------+

  MysqLMerge表需要注意哪些方面

  1。每个子表的结构必须一致,主表和子表的结构需要一致,

  2。每个子表的索引在merge表中都会存在,所以在merge表中不能根据该索引进行唯一性检索。

  3子表需要是MyISAM引擎

  4REPLACE在merge表中不会工作

  5AUTO_INCREMENT不会按照你所期望的方式工作。

  创建MysqLMerge表的参数INSERT_METHOD有几个参数。

  LAST如果你执行insert指令来操作merge表时,插入操作会把数据添加到最后一个子表中。FirsT同理,执行插入数据时会把数据添加到第一个子表中。

  比如本例,对merge表执行插入操作

  MysqL>INSERTINTomrg(a)VALUES(18);

  查询一下

  MysqL>SELECTaFROMt2;

  结果你会发现18出现在t2表中。

  ---------------------------------------------------------------

  如果你对mrg表或者子表进行了DROP操作,那将有可能会产生些不可预知的情况。

  如果删除mrg表,那么各个子表间将不会有联系。但是如果删除其中的任一子表,对于GNU/LINUX来说,merge表结构及数据仍然存在。

  MysqL>DROPTABLEt1,t2;

  MysqL>SELECTaFROMmrg;

  结果你会发现mrg表的查询结果不变。

MysqLMerge表的优点有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程之家网站,小编将为大家输出更多高质量的实用文章

相关文章

这篇文章主要介绍“hive和mysql的区别是什么”,在日常操作中...
这篇“MySQL数据库如何改名”文章的知识点大部分人都不太理解...
这篇文章主要介绍“mysql版本查询命令是什么”的相关知识,小...
本篇内容介绍了“mysql怎么修改字段的内容”的有关知识,在实...
这篇文章主要讲解了“mysql怎么删除unique约束”,文中的讲解...
今天小编给大家分享一下mysql怎么查询不为空的字段的相关知识...