程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> 關於mysql歸並表的具體引見

關於mysql歸並表的具體引見

編輯: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;
同時假如你的子表界說紛歧致的話,父表能創立勝利,然則不克不及正常拜訪。

歸並表比非歸並表含有更多的文件描寫符,他的拜訪實際上是翻開了子表,所以緩存中的數據能夠對應有多個文件描寫符,在歸並表中固然有能夠有雷同的值,然則只需查詢找到了第一個想要的值,查詢就會停滯

�地位等信息.擴大名為.mdf
  •     主要文件:可以建隨意率性多個,用於分歧目標寄存.擴大名為.ndf
  •     日記文件:寄存日記,擴大名為.ldf
  •     在SQL SERVER 2008以後,還新增了文件流數據文件和全文索引文件.

        上述幾種文件名擴大名可以隨便修正,然則我推舉應用默許的擴大名。

        我們可以經由過程以下語句檢查數據庫中的文件情形:

        2

         還有一點要留意的是,假如一個表是存在物理上的多個文件中時,則表的數據頁的組織為N(N為詳細的幾個文件)個B樹.而不是一個對象為一個B樹.

    創立和應用文件組

        創立文件或是文件組可以經由過程在SSMS中或許應用T-SQL語句停止。關於一個數據庫來講,既可以在創立時增長文件和文件組,也能夠向現有的數據庫添加文件和文件組.這幾種方法年夜同小異.上面來看一下經由過程SSMS向現稀有據庫添加文件和文件組.

        起首創立文件組:

        3

        文件組創立好後便可以向現有文件組中添加文件了:

        4

    上面我們便可以經由過程語句將創立的表或許索引參加到新的文件組中了:

    5

    應用多個文件的長處與缺陷

        平日情形下,小型的數據庫其實不須要創立多個文件來散布數據。然則跟著數據的增加,應用單個文件的弊病就開端浮現。

        起首:應用多個文件散布數據到多個硬盤中可以極年夜的進步IO機能.

        其次:多個文件關於數據略多的數據庫來講,備份和恢復都邑輕松許多.我碰見過碰到一個150G的數據庫,手頭卻沒有這麼年夜的存儲裝備…

        然則,在數據庫的世界中,每項利益常常隨同著一個害處:

        不言而喻,應用多文件須要占用更多的磁盤空間。這是由於每一個文件中都有本身的一套B樹組織方法,和本身的增加空間。固然了,還有一套本身的碎片-.-然則在年夜多半情形下,多占點磁盤空間帶來的弊病要遠遠小於多文件帶來的利益.

    總結

      本文對SQL SERVER中文件和文件組的概念停止了簡略論述,並在文中講述了文件和文件組的設置裝備擺設方法。依照營業組織好分歧的文件組來散布分歧的文件,使得機能的晉升,關於你子夜少接幾個德律風的贊助是灰常年夜滴:-)

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved