Teknik pemecahan tabel merupakan salah satu teknik pengelolaan data yang sering kami implementasikan untuk mengelola data yang masiv. Salah satu contoh data nilai, dimana ada lebih dari 5000 mahasiswa satu tahun angkatan yang mengambil setidaknya 5 mata kuliah tiap semester dan setidaknya ada 4 tahun angkatan ayng masih aktif. Maka jika ditabelkan minimal 1 semester akan ada 100000 record nilai, dalam 2 tahun ajaran sudah 400000. Data nilai tersebut merupakan data historikal yang tidak boleh kita hilangkan, namun jika record terlalu besar akan membebani kinerja database juga.
Oleh sebab itu, teknik pemecahan tabel ini cukup efektif untuk menjaga kinerja database kita tetap stabil. Namun kelemahan teknik ini adalah susahnya pengambilan data via query secara langsung, karena tabel terpisah maka kita harus membuat script khusus untuk loop nama tabelnya. Selain itu jumlah tabel akan meningkat tiap satuan pemecehan kita, misal tabel dipecah tiap bulan, maka jumlah tabel kita akan bertambah 12 buah tiap tahunnya.
Apabila menginginkan query tabel secara langsung, kita memerlukan satu jembatan lagi yaitu penggabungan tabel. Penggabungan tabel ini dapat menggunakan 2 cara, yaitu menggunakan view dan menggunakan union table.
Contoh script pembuatan view:
CREATE
VIEW `NewView`AS
SELECT * FROM tabel_00 UNION
SELECT * FROM tabel_01 ;
Contoh script pembuatan union table:
CREATE TABLE `NewTable` (
`field_01` varchar(6) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT ” ,
`field_02` varchar(10) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL ,
PRIMARY KEY (`field_01`)
)
ENGINE=MRG_MYISAM
UNION=(`tabel_01`,`tabel_02`)
;