Merge
от MySQL UG Bulgaria
Описание
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 | +---+---------+
