Mengingat kembali MySQL Merge Engine


Jika ada suatu kebutuhan penyimpanan suatu himpunan entitas data ke database MySQL dalam “partisi” tabel yang berbeda, dapat kita coba menggunakan MyISAM Merge. Dengan engine ini kita dapat menyimpan data yang strukturnya sama, ke dalam beberapa tabel yang kita “partisi” berdasar suatu rentang nilai tertentu. Sebagai contoh kita ingin menyimpan data transaksi yang terbagi dalam beberapa periode, misal transaksi Januari sampai Juni dan transaksi Juli sampai Desember. Dari partisi data tersebut, kita ingin dapat diwakili oleh sebuah tabel yang menggabungkan kedua partisi. Kondisi seperti inilah kita dapat menggunakan engine Merge. Berikut contohnya:

create database testmerge;
use testmerge;
create table trans_janjun( no char(6) primary key,   tanggal date default '0000-00-00');
create table trans_juldes( no char(6) primary key,   tanggal date default '0000-00-00');
create table trans(   no char(6) primary key,   tanggal date default '0000-00-00') engine=MERGE UNION=(trans_janjun, trans_juldes) INSERT_METHOD=LAST;
insert into trans_janjun values ('01', '2010-01-20');
insert into trans_janjun values ('02', '2010-05-01');
insert into trans_juldes values ('20', '2010-08-11');
insert into trans_juldes values ('26', '2010-12-24');
select * from trans;

Namun harap diingat bahwa engine MERGE ini hanya menggabungkan record dari satu atau lebih tabel yang sudah didefinisikan sebelumnya. Jika betul-betul ingin menerapkan partisi tabel di MySQL, silahkan menggunakan MySQL PARTITION.

One thought on “Mengingat kembali MySQL Merge Engine

  1. saya mau tanya, kalo menggabungkan data dalam table yang sama yang diinpu dari teble yang berbeda itu bagaimana? thx

Komentar ditutup.