Split Table MySQL Untuk Keperluan Arsip
December 31, 2014
Sudah sewajarnya ketika aplikasi yang menggunakan database di deploy dan digunakan banyak orang akan mengalami pembengkakan jumlah data, semakin hari data bertambah banyak sehingga pada suatu saat aplikasi yang kita buat loadingnya bertambah lama. Terkadang, walaupun Aplikasi sudah fix selesai namun kita seringkali membuka kembali database dan melakukan query-query sesuai dengan format yang kita inginkan untuk keperluan laporan dan analisa data. Nah, jika database kita terlampau besar, maka hasil query yang terkadang luput dari filtrasi “LIMIT” atau perintah “SELECT” dengan kondisi “WHERE” yang rumit malah akan membuat hasil query kita berjalan sangat lama. Kalau sudah seperti ini, biasanya saya membuat split data untuk keperluan arsip walaupun masing-masing programmer mempunyai trik sendiri untuk mengatasinya.
SPLIT disini artinya saya mencoba memilah data dari jutaan data yang tertampung menjadi beberapa bagian ( beberapa tabel ) sehingga hasil query yang biasa saya gunakan tetap berhasil dengan sangat cepat. Saya berikan contoh misalkan saya punya tabel transaksi tagihan dengan nama “tagihan_listrik”
table tagihan_listrik
id_tagihan_listrik |
no_pelanggan |
bulan |
tahun |
jumlah_tagihan |
1501011 |
011 |
01 |
2015 |
150000 |
1501012 |
012 |
01 |
2015 |
175000 |
1501011 |
011 |
02 |
2015 |
175000 |
pada contoh diatas cuma saya tampilkan 3 record, anggaplah data tersebut 3 juta. Artinya, data 3 juta ini akan saya split dengan parameter filter “bulan” dan “tahun“.
SELECT * FROM tagihan_listrik WHERE bulan = ’01’ AND tahun = ‘2015’
Kemudian tinggal kita tambahkan Syntax Query untuk memindahkannya ke tabel baru dengan struktur yang sama dengan tabel utama.
CREATE TABLE tagihan_listrik_1501 SELECT * FROM tagihan_listrik WHERE bulan = ’01’ AND tahun = ‘2015’
Syntax tersebut berfungsi untuk membuat tabel baru dengan struktur data dan record yang sama persis dengan tabel utama, sehingga akhirnya kita bisa melakukan Query terpisah yang tidak mengganggu data sebelumnya dan tentunya Query yang kita gunakan akhirnya bisa lebih singkat, selain itu juga hasil Query yang tampil akan lebih cepat.
Namun juga SPLIT ini memang memiliki kelemahan, yaitu database kita akan terlihat berantakan dan tidak rapih. Saya juga menggunakan metode ini hanya untuk keperluan arsip dan tidak saya gunakan kedalam Aplikasi.
Semoga Bermanfaat 🙂
Leave a comment