YADI ROSADI

Programming, Linux and Anything

Hi,I'm Yadi Rosadi

Full-time Operation & part-time software developer. I do what im Interest for fun and profit

Scastie - Online Tool untuk Debugging Scala code

Scastie adalah Scala pastebin yang merupakan salah satu tool yang bisa jadi pilihan untuk mendebug code scala secara online. Fitur-fiturnyapun cukup lengkap untuk keperluan debbuging. salah satu fiturnya adalah realtime update pada saat copy paste code, dan running code, memungkinkan untuk menghapus dan cloning paste, memungkinkan untuk menentukan versi scala, menyediakan beberapa template yang berguna (misalnya scalaz, Akka, bermain, scala 2.10) untuk lengkapnya bisa dibaca https://github.com/OlegYch/scastie

Read More >>


Delete Semua record data kecuali N record data terakhir

Setelah sekian lama ga nulis dan sharing. Kali ini saya coba sharing pengalaman sesuai dengan kebutuhan pekerjaan. karena pekerjaan kali ini banyak berkutat dengan query dan query terutama untuk Oracle dan MySQL. Contoh kasusnya adalah sebagai berikut: Suatu tabel dalam suatu database memiliki beberapa record data, sebanyak N record data harus tetap ada dalam tabel tersebut, dimana setiap N record data baru terisi setiap 1 jam sekali dan data lamanya akan terhapus. lalu bagaimana querynya? (contoh kasus untuk MySQL) Ada beberapa metode yang bisa kita lakukan. berikut adalah beberapa logic method yang bisa kita terapkan.

1 . Meng-count data pada tabel tersebut, hasilnya dikurangi N data yang akan di keep, kemudian selisihnya kita hapus, jika kita ilustrasikan querynya adalah sebagai berikut :

2 . Kita buat subquery untuk mengambil data sebanyak N dan buat inisial tablenya (disini adalah a), setelah itu kita left join dan buat inisial b, kemudian relasikan a dan b, hasilnya kita delete dengan kondisi id untuk tabel b adalah NULL. ilustrasi querynya sebagai berikut

3 . Ambil data terakhir sebanyak N, hasilnya kita buat inisialisasi dengan nama lim, setelah itu delete semua record di tabel tersebut dengan kondisi dimana idnya bukan data N yang telah diambil

4 . Ambil data sebanyak 1 dengan Offset N, hasilnya diambil kembali dan buat inisialisasi tabel, misal lim, setelah itu kita delete semua record pada tabel dengan kondisi dimana idnya adalah lebih kecil sama dengan data dari id yang sudah diperoleh.

5 . Metode ini logikanya hampir sama dengan metode ke-4. hanya saja menggunakan JOIN Clause, bukan WHERE clause. dalam metode ini kita tidak perlu lagi menyelect data yang telah dihasilkan untuk diinisialisasi

Dari ke 5 metode yang telah dijabarkan tersebut, hanya 4 metode yang bisa kita pergunakan yaitu (metode 2 s/d 5). Pertanyaannya mana yang paling efektif dan cocok untuk digunakan dalam berbagai kasus terutama berkaitan dengan masalah performance?