Merge

от MySQL UG Bulgaria

Jump to: navigation, search

Описание

MERGE storage engine, е познат и като MRG_MyISAM engine. Представлява колекция от идентични MyISAM таблици, който могат да се използват като една.(в случая идентични означава, че всички таблици имат идентични колони и Index информация).

Когато създадете таблица с тази машина за съхранение, MySQL създава два файла, който започват с името на таблицата и са с разширение .frm и с разширение .MRG. В първия файл се пази информация за формата на таблицата, а другия файл пази информация за таблиците, които ще се обединяват


Примери

Създаваме таблица 1

mysql> CREATE TABLE t1 (
    ->    a INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    ->    message CHAR(20)) ENGINE=MyISAM;


Създаваме таблица 2

mysql> CREATE TABLE t2 (
    ->    a INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    ->    message CHAR(20)) ENGINE=MyISAM;


Вмъкваме в табилиците, който създадохме преди малко данни, както е показано.

mysql> INSERT INTO t1 (message) VALUES ('Testing'),('table'),('t1');
mysql> INSERT INTO t2 (message) VALUES ('Testing'),('table'),('t2');


След това обединяваме таблиците (Merge) в нова таблица

mysql> CREATE TABLE total (
    ->    a INT NOT NULL AUTO_INCREMENT,
    ->    message CHAR(20), INDEX(a))
    ->    ENGINE=MERGE UNION=(t1,t2) INSERT_METHOD=LAST;


Eто и резултата:

mysql> SELECT * FROM total;

+---+---------+
| a | message |
+---+---------+
| 1 | Testing |
| 2 | table   |
| 3 | t1      |
| 1 | Testing |
| 2 | table   |
| 3 | t2      |
+---+---------+
Лични инструменти