最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

關(guān)于mysql合并表的詳細介紹

 更新時間:2013年06月22日 17:40:12   作者:  
本篇文章是對mysql中的合并表進行了詳細的分析介紹,需要的朋友參考下

mysql創(chuàng)建合并表和分區(qū)表有點相似,他是mysql 的一種特性,可以把多個結(jié)構(gòu)相同的myisam表合并為一個虛表,存續(xù)引擎必須是merge,當從合并表中查詢就像從子表中查詢一樣,和視圖有寫相似,當創(chuàng)建合并表時也有自己的frm和mrg 文件。
合并表創(chuàng)建方法
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個子表中有相同的列時,創(chuàng)建合并表并不會唯一
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;
同時如果你的子表定義不一致的話,父表能創(chuàng)建成功,但是不能正常訪問。

合并表比非合并表含有更多的文件描述符,他的訪問其實是打開了子表,所以緩存中的數(shù)據(jù)可能對應(yīng)有多個文件描述符,在合并表中雖然有可能有相同的值,但是只要查詢找到了第一個想要的值,查詢就會停止

相關(guān)文章

最新評論

万荣县| 苍南县| 古交市| 浙江省| 罗江县| 鲁甸县| 莆田市| 高台县| 常州市| 荣昌县| 南皮县| 垣曲县| 阿拉善右旗| 阿拉善右旗| 闽侯县| 会同县| 福海县| 兰坪| 同江市| 铜梁县| 清水县| 葵青区| 从化市| 吉隆县| 丹棱县| 岑溪市| 渝北区| 上林县| 苍梧县| 会东县| 新密市| 江都市| 昌吉市| 博罗县| 禹城市| 高邑县| 古丈县| 石嘴山市| 弥渡县| 上思县| 静宁县|