Showing posts with label MySQL. Show all posts
Showing posts with label MySQL. Show all posts

Monday, February 21, 2011

Hindari Penggunaan JOIN table di MYSQL

Kali ini sedang menghandle database MYSQL dengan ukuran data yang cukup besar >15MB dimana data-data ini diakses di website yang sudah lama online.
Salah satu module yang digunakan, mengambil data dengan cara menjoin 2 table, dimana masing-masing table berisi data yang cukup banyak, tiap table ukuran kira-kira 3MB. Ketika module ini dijalankan aksesnya lama sekali bahkan membuat web server hang dan tidak bisa diakses lagi. Ternyata biang masalahnya adalah karena men-join 2 table dengan ukuran data yang sangat besar itu tidak baik, karena ketika dijoin maka dia akan mencocokkan satu persatu data sebanyak jumlah data di masing-masing table, sehingga membutuhkan memori dan waktu yang banyak.
Solusi, jangan menggabungkan table, jika kondisi data besar, tapi gunakan function terpisah untuk mengambil data di table lain, dimana di function ini tentunya menerima parameter data yang akan dibutuhkan saja. Dan ternyata metode seperti ini sangat optimal dan aksesnya berjalan normal.

Tuesday, October 7, 2008

Mengakses MySQL lewat Command Prompt

Biasanya mengakses database My SQL dengan menggunakan tools yang sangat memudahkan kita seperti phpmyadmin, aplikasi web bawaan yang khusus diperuntukkan sebagai tools database bagi My SQL. Selain itu juga ada beberapa tools aplikasi desktop yang lebih mudah mirip seperti Query Analyzer di Ms SQL Server 2000, misalnya MySQL Front, SQLyog, dsb. Keunggulan dari kedua jenis tools ini adalah memudahkan kita sebagai developer untuk memanage database yang kita buat, tersedia fitur-fitur otomatis untuk melakukan sesuatu tanpa harus melakukan query manual lagi. Tentunya tools seperti ini sangat membantu pekerjaan kita, tapi di balik itu juga kurang baik mungkin bagi pemula, karena tersedia tools yang kesannya memanjakan sehingga tidak perlu query lagi. Tools yang sudah ada tidak sempurna, ada kalanya mengharuskan kita untuk melakukan query sendiri. Jadi sebaiknya disarankan bagi pemula agar menggunakan cara-cara manual saja, mungkin sedikit relefan dengan ungkapan Biar lambat asal selamat, memang dibanding query sendiri lebih lambat dari pada menggunakan tools tetapi hal ini tidak mengasah kemampuan query kita.

Maksud artikel ini saya mau mengajak untuk bermain-main di command prompt. Barangkali banyak yang sudah tau hal ini tapi saya ingin menuliskannya saja siapa tau merupakan hal yang menarik bagi yang belum tau sebelumnya. Command prompt dalam hal ini pastinya hanya bagi pengguna Windows. Ok kita mulai saja.

- klik Start - run – cmd – lalu enter untuk membuka window hitam

- Sekarang kita pergi ke direktori dimana mysql terinstall. Di komputer yang saya gunakan pada saat menulis ini ada di C:\xampp\mysql\bin. Kita akan menjalankan mysql.exe yang ada di folder bin. Coba dengan mengetikkan : cmd C:\xampp\mysql\bin

- Posisi sekarang sudah ada di C:\xampp\mysql\bin, lalu ketik mysql –u root -p


Keterangan:
mysql –u root –p

-u => username untuk login ke database, di kasus ini penulis menggunakan root
-p => kemudian disusul oleh –p untuk password yang digunakan

- Sekarang input password untuk username root, kalau tidak ada password maka enter saja

- Kalau sudah sukses maka terlihat pesan Welcome to the Mysql monitor….

- Sekarang kita sudah ada berada di wilayah kekuasaan database MySQL, apalagi dengan menggunakan root maka semua hak akses ada di tangan kita sekarang.

- Lalu setelah itu harus ngapain lagi? Berikut saya uraikan beberapa bagian.


Tips:
Sebaiknya tiap akhir dari command sql yang dituliskan, diakhiri dengan titik koma (;) untuk memberi tanda pada command prompt bahwa command/sintak yang ditulis berakhir sampai disitu dan siap untuk dijalankan setelah menekan enter.

1. Menampilkan daftar database
mysql > show databases;



Terlihat daftar database yang sudah tersedia. Lalu bagaimana jika ingin mengakses table-table yang di database tertentu? Ada di point ke-2 berikut.

2. Menggunakan database
mysql >use latihan;
jika muncul Database changed, maka posisi sekarang ada di database latihan dan sudah bisa mengakses semua table di dalamnya.

3. Menampilkan daftar table
Mysql > show tables;


4. Melakukan query pada table yang sudah ada
mysql > select * from ms_users;


5. Membuat table baru
mysql> create table ms_barang
-> (
-> kd_barang int primary key,
-> nama_barang varchar(100),
-> harga_satuan int,
-> stok int
-> );
Query OK, 0 rows affected (0.09 sec)

6. Menghapus table
mysql -> drop tables guestbook;

7. Keluar dari database mysql ketik mysql > exit, pastikan keluar pesan Bye.

Dan masih banyak lagi sintak sql yang bisa digunakan, pada dasarnya semua sintak query bisa dieksekusi lewat command prompt. Jadi silahkan mencoba dan berkreasi sendiri, sekarang gunakan kemampuan query anda lewat command prompt tanpa mengandalkan tools yang sudah ada itu :). Pada artikel ini hanya sebatas pengenalan buat pembaca, jalan lain ke roma untuk mengakses database My SQL. Semoga bermanfaat.