程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySQL5新特點(跨存儲類式數據庫表)

MySQL5新特點(跨存儲類式數據庫表)

編輯:MySQL綜合教程

目前一個特定的事實是,企業數據繼續散布在企業的各個地方,這些數據可能以不同存儲類型的數據庫表的形式存在,數據庫 管理人員為了管理遠程服務器上的數據庫對象時,經常需要登錄不同的物理服務器才能實現。而"跨類聯合存儲式數據庫表"這一MySQL5的新技術使得幾個分布在不同的物理位置的數據庫,可以成為單一的邏輯數據庫形式,呈現在最終用戶的面前,從而 簡化了對全部數據庫的訪問。
MySQL5推出的跨類聯合存儲式數據庫表(federated tables)可以將存放在不同數據庫服務器 上的數據庫對象作聯結,然後生成一個或多個邏輯數據庫,任何類型的存儲引擎都作為federated table定義的目標,而且這些 定義完全支持SELECT,INSERT,UPDATE,和DELETE等已存在的功能。下圖是MySQL5支持的不同類型的存儲引擎示意:

舉例來說,假定下面格式的表存儲在一台Linux服務器上:
 
如果數據庫管理人員希望在運行著不同數據庫的 windows服務器上來參考上面的存放在linux服務器上的數據庫,就可以通過定義下面的federated table來實現:

mysql> CREATE TABLE client (
-> client_id int(11) NOT NULL, 
-> client_first_name varchar(20) NOT NULL,
-> client_last_name varchar(40) NOT NULL,
-> client_gender char(1) NOT NULL,
-> client_year_of_birth int(4) NOT NULL, 
-> client_marital_status varchar(20) default NULL,
-> client_street_address varchar(40) NOT NULL,
-> client_postal_code varchar(10) NOT NULL,
-> client_city varchar(30) NOT NULL,
-> client_state_province varchar(40) NOT NULL
-> client_phone_number varchar(25) NOT NULL, t NULL,
-> client_household_income bigint(30) default NULL,
-> client_country varchar(40) default NULL,
-> broker_id int(11) NOT NULL) ENGINE=FEDERATED 
-> COMMENT = 
-> 'mysql://myuser:[email protected]:3306/gim/client'; 
Query OK, 0 rows affected (0.20 sec)

mysql> select count(*) from client;
+----------+
| count(*) |
+----------+
| 5600     |
+----------+ 
1 row in set (0.50 sec)
以上顯示了federated table表的用處。(BKJIA.COM教程)

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