Home > Pemula > Belajar MySQL > Tips Untuk Para Programmer dan Database Engineer

.

3 Komentar Untuk Artikel Ini BYAdmin Ilmuwebsite

Ada tahapan bagi seseorang untuk bisa sampai ke tahapan advanced, expert, atau apapun sebutannya untuk seorang yang telah menguasai bidangnya, atau bahkan mengembangkan bidangnya. Namun sayang sekali seseorang yang sudah sampai tingkatan expert sangat jarang sekali mendokumentasikan kemampuan, pengalaman, sekaligus eksperimen yang pernah dilakukan. Jelasnya dokumentasi ini sangat bermanfaat untuk orang-orang setelahnya. Bagi para newbie, dan intermediate. Dimana pengalaman adalah sesuatu yang tidak ternilai harganya.

 

databases

Apa yang akan saya jelaskan kali ini sebetulnya memang di khususkan untuk para programmer pemula, maupun tingkatan menengah, begitu juga untuk para database engineering pemula maupun tingkatan menengah. Dan apa yang akan saya rincikan di sini merupakan sesuatu yang sudah pernah dibuktikan terlebih dahulu. Bukan sekedar teori yang perlu diformulasikan kembali ketika akan dilakukan pembuktiannya.

Bagi seorang programmer, dan database engineer, merupakan hal yang vital ketika akan melakukan develop aplikasi, terlebih lagi pada fase perencanaan dalam pembuatan database, di mana diperlukan analisa yang betul-betul jitu hingga mendapatkan tingkat efektifitas dalam relasi yang menunjang operasi CRUD, Create Read Update Delete. Memang ketika para pemula mendalami CRUD terbilang mudah untuk dikuasai. Tidak jadi masalah ketika programer membuat aplikasi dengan pengguna yang tidak begitu banyak, belasan, sampai puluhan. Namun masalah akan didapatkan ketika aplikasi yang dirancang itu digunakan oleh ribuan, atau bahkan jutaan orang. Server down karena hang akibat query yang lambat dieksekusi, berantai dari terlalu banyak men-JOIN relasi antar table.

Sehingga dari sini betul-betul seorang programmer maupun database engineer harus betul-betul teliti dan bekerja sebagaimana mestinya.

Nasihat Yang Baik

Pikiran satu orang tidak cukup baik dibandingkan pikiran dari banyak orang, sehingga nasihat-menasihati adalah perlu dilakukan, demi kebaikan bersama, dan manfaat yang akan didapatkan nantinya. Jelasnya menerima kritik atau menerima nasihat orang perlu ditanamkan dalam hati, dihujamkan dalam diri.

 

1. Jangan Terlalu Banyak Membuat Relasi Table

Aplikasi yang kompleks pastinya berdampak kepada relasi database, semakin kompleks aplikasi berdampak pada pembuatan relasi table semakin banyak. Tapi bisa juga membuat aplikasi yang kompleks tanpa membuat relasi table yang banyak. Loh? Bagaimana bisa? Bisa. Di ambil alih oleh bahasa pemrogaman itu sendiri, sebagai contohnya adalah penggunaan serialize() di PHP. Lebih jelasnya silahkan membuka http://php.net/manual/en/function.serialize.php Dengan fungsi ini sang programmer bisa dengan leluasa menyimpan atribut ke dalam array, dan arraynya di simpan ke suatu field di dalam table.
Kalaupun harus membuat banyak relasi antar table, anda harus melakukan nasihat di poin ke 2.

 

2. Jangan Terlalu Banyak Men-Join Relasi Antar Table

Saya sendiri maksimal dalam men-join relasi antar table adalah 5 relasi. Ini pun sudah terlalu berat sekali jika user yang menggunakan aplikasi ini berjumlah ribuan atau bahkan sampai jutaan. Server terasa beraaaaaat sekali. Disarankan untuk menjoin table kurang dari 5 relasi. Karena biasanya optimasi query pun dilakukan termasuk di antaranya adalah memperbaiki join table yang terlalu banyak dan kurang efisien.

Lalu bagaimana jika sudah terlanjur banyak relasi? Karena sudah terlanjut mau bagaimana lagi, gunakanlah field-field yang sudah di jadikan sebagai key dengan atribut INDEX maupun PRIMAY dalam men-JOIN table. Mengapa karena jika tidak di lakukan maka response database server akan terasa sangat lambat sekali.

Sebelum terlanjur maka alangkah baiknya untuk memperhatikan “anjuran untuk tidak terlalu banyak men-join relasi antar table” yang jelasnya ini sangat berhubungan dengan poin pertama. Sehingga planning dalam pembuatan database perlu secara detil diperhatikan.

 

3. Gunakanlah InnoDB jika… Gunakanlah MyIsam jika…

MyIsam merupakan jenis database engine yang cocok untuk pemula, karena tidak terlalu banyak memikirkan integritas data. Maksudnya bagaimana? Apakah yang tidak ada kontroversi hati? Sederhananya MyIsam itu lebih dulu lahir, ketimbang InnoDB. MyIsam dibuat untuk menunjang database yang hanya digunakan untuk View / Read saja dengan fungsi select pada sql query. Dan tidak terlalu banyak Insert sekaligus Update data, namun lebih banyak di Read saja.

Sedangkan InnoDB betul-betul memperhatikan integritas data, dan innodb ini cocok digunakan dalam database yang sangat banyak sekali menggunakan operasi Insert, dan Update. Namun karena kelebihannya tersebut dibutuhkan ketelitian yang lebih dalam pembuatan database menggunakan InnoDB engine.

 

Begitulah sedikit nasihat yang mudah-mudahan bermanfaat bagi Anda yang akan memulai membuat aplikasi dengan banyak pengguna. Sehingga nantinya tidak perlu menyalahkan Memory / Resource Server manakala terasa lambat. Tapi sejujurnya adalah ketika perencanaan database itulah penggunaan Resource Server bisa di efisiensikan.

 

Loka Dwiartara
Staff Ilmuwebsite

 

 

 

DVD Video Tutorial : Kursus Web Development Komplit Bangun 5 Project Aplikasi Website - Membuat CMS Sendiri Dari Nol, Blog, Portal Berita, Ecommerce, Web Komunitas dengan CodeIgniter 3 JQuery AJAX Bootstrap

Video Tutorial Kursus Web Development Komplit Bangun 5 Project Website ini merupakan ‘penunjuk arah’ agar Anda yang sedang maupun baru akan terjun ke dalam dunia web development yang lebih mendalam memiliki peta perjalanan pembelajaran yang lebih terarah menuju web developer professional. (Disertai pembelajaran dasar HTML CSS, JQuery, PHP & MySQL, CodeIgniter) Dibuat oleh praktisi yang memiliki pengalaman lebih dari 10 tahun di bidang web development (Pemesanan bisa SMS/WA ke 0813 1167 5785, atau bisa pesan secara online di sini)



3 Response untuk Artikel Ini

  1. Akhwanokovic

    Kasus ane kek gini bang..:

    1. ada tabel transaksi dan tabel referensi
    2. kemudian di tabel transaksi hanya menyimpan id dari tabel referensi
    3. untuk menampilkan data keterangan id dari tabel referensi saya buat fungsi yang digunakan untuk mengambil data keterangannya..

    lebih efektif manakah, jika dibandingkan dengan pake select join..?


  2. Bambang

    Sebelumnya terima kasih agan loka sudah share ilmu, ini artikel pas banget bwat ane, soalnya lagi belajar programming walau level ane mungkin di bawah midle/menengah ney alias user beginner…. terima kasih gan semoga berkah ilmunya kecepretan ya…


  3. IW

    kalo cuma 2 tabel lebih baik di jadikan satu query aja, lebih efektif dengan join, querynya otomatis dijadikan satu

    join dihindari untuk koneksi lebih dari 5 tabel


You must be logged in to post a comment.

eXTReMe Tracker