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

Tuesday, October 11, 2016

Backup dan restore database mysql

Dalam sebuah sistem informasi sudah tentu menggunakan database sebagai penyimpanan datanya. data ini sangat perlu sekali untuk di backup setiap harinya agar jika suatu saat terjadi hal yang tidak diinginkan atau bencara IT maka sistem bisa dipulihkan dengan cepat. seperti halnya database lainnya , database mysql memiliki fitur untuk melakukan backup dan restore databasenya . berikut adalah cara menggunakan perintah backup dan restore pada database mysql menggunakan mysqldump.

Melakukan backup database :
  1. buka command promt ( cmd ) kemudian arahkan path atau lokasinya ke tempat mysql diinstall . disini saya menggunakan instalasi dari xampp yang terinstall di drive C. maka saya akan masuk ke drive c:/xampp/mysql/bin
  2. perintah backup adalah mysqldump -u root -p[password] --routines nama_database > nama_backup.sql
Melakukan restore database :
  1. buka command promt ( cmd ) kemudian arahkan path atau lokasinya ke tempat mysql diinstall . disini saya menggunakan instalasi dari xampp yang terinstall di drive C. maka saya akan masuk ke drive c:/xampp/mysql/bin
  2. perintah restore adalah mysqldump -u root -p[password] --routines nama_database < nama_backup.sql

Tuesday, January 20, 2015

Menghitung Usia dengan MySQL

Seringkali dalam pembuatan suatu aplikasi pastinya memerlukan data master seperti pelanggan, karyawan dan sebagainya dimana data master tersebut memiliki atribut atau field yang berhubungan dengan tanggal lahir. pada artikel kali ini kita akan membahas tentang menghitung usia dengan mysql. perhitungan usia ini biasanya dibutuhkan dalam hal pembuatan laporan, entah itu laporan karyawan atau laporan lainnya.

Tuesday, October 28, 2014

Menampilkan Waktu Render Suatu Halaman Web

Bagi para developer web tentunya ingin menghasilkan suatu aplikasi web yang bisa digunakan oleh banyak orang dan diakses darimana saja.  salah satu hal yang paling penting dalam aplikasi web adalah waktu yang diperlukan untuk merender suatu halaman tertentu, hal ini sangat penting karena semakin lama waktu render maka semakin banyak juga komplain dari pengunjung atau user suatu aplikasi. ada beberapa cara untuk mensiasati bagaimana halaman web bisa dirender dengan cepat salah satunya adalah pemprosesan server side dan client side.

Tuesday, September 4, 2012

10 Tips SQL Mempercepat Akses Database


Tip pertama ini mungkin tampak biasa, tetapi pada kenyataannya sebagian besar masalah database berasal dari design struktur tabel yang buruk.
Sebagai contoh, saya telah melihat orang-orang menyimpan informasi seperti info client dan pembayaran info di column database yang sama. Ini bukan hal yang baik bagi database system dan developer yang akan bekerja menggunakannya.
Ketika akan membuat database, selalu simpan informasi berbeda di tabel yang berbeda, gunakan standar penamaan yang jelas dan gunakan primary key.
Source: http://www.simple-talk.com/sql/database-administration/ten-common-database-design-mistakes/

Tahu apa yang harus Anda optimasi
Jika Anda ingin mengoptimasi query tertentu, sangat penting bagi anda untuk bisa melihat informasi dari query yang anda jalankan. Gunakan perintah EXPLAIN, untuk mendapatkan informasi dari query yang anda jalankan, seperti yang ditunjukkan pada contoh di bawah ini:
EXPLAIN SELECT * FROM ref_table, table_lain WHERE ref_table.key_column = table_lain.column;
Source: http://dev.mysql.com/doc/refman/5.0/en/using-explain.html
Query tercepat… Adalah yang tidak pernah anda kirim
Setiap kali Anda mengirimkan query ke database, Anda akan menggunakan sumber daya server Anda. Inilah sebabnya, pada situs dengan traffic tinggi, hal terbaik yang dapat Anda lakukan untuk mempercepat database Anda adalah dengan cache queries.
Ada banyak solusi untuk menggunakan cache query pada server Anda. Berikut adalah salah satunya:
* AdoDB: AdoDB adalah library abstraksi database untuk PHP. Hal ini memungkinkan Anda untuk menggunakan sistem database pilihan Anda (MySQL, PostgreSQL, Interbase, dan lain sebagainya) dan dirancang untuk kecepatan. AdoDB sangat sederhana, namun memiliki sistem caching yang powerful. Dan juga, lisensi AdoDB di bawah BSD, yang berarti Anda dapat menggunakan dengan bebas pada proyek Anda. Sebuah lisensi LGPL juga tersedia untuk proyek-proyek komersial.
* Memcached: memcached adalah sistem caching memori terdistribusi yang sering dipakai untuk mempercepat website berbasis database dinamis dengan meringankan beban database.
* CSQL Cache: CSQL Cache adalah sebuah open-source data caching infrastruktur. Belum diuji secara pribadi, namun tampaknya bisa menjadi alat yang hebat.
Jangan Menampilkan yang tidak perlu
Yang sangat umum untuk mendapatkan data yang diinginkan adalah dengan menggunakan simbol *, yang akan mendapatkan semua kolom dari tabel yang diinginkan:
SELECT * FROM wp_posts;
Sebaliknya, Anda harus benar-benar hanya memilih kolom yang diinginkan, seperti ditunjukkan pada contoh di bawah ini. Pada situs yang sangat kecil dengan, katakanlah, satu pengunjung per menit, yang tidak akan membuat perbedaan. Tapi di situs seperti Tanyasaja.com, menghemat banyak proses untuk database.
SELECT judul, kutipan, pengarang FROM wp_posts;
Gunakan LIMIT
Ini sangat umum yang perlu Anda hanya mendapatkan jumlah record tertentu dari database Anda. Sebagai contoh, sebuah blog yang menampilkan sepuluh entri per halaman. Dalam hal ini, Anda harus benar-benar menggunakan parameter LIMIT, yang hanya menampilkan jumlah record yang diperlukan.
Tanpa LIMIT, jika tabel Anda memiliki 100.000 catatan berbeda, Anda akan ekstrak mereka semua, yang seharusnya tidak perlu dilakukan server Anda.
SELECT judul, kutipan, pengarang FROM wp_posts LIMIT 10;
Hindari queries dalam pengulangan
Bila menggunakan SQL bersama dengan bahasa pemrograman seperti PHP, dapat tergoda untuk menggunakan SQL queries dalam sebuah loop / pengulangan. Tapi hal ini seperti memukul database dengan query Anda.
Contoh ini menggambarkan seluruh masalah “queries dalam loop”:
foreach ($display_order as $id => $urut) (
$sql = “UPDATE SET kategori display_order = $ordinal WHERE id = $id”;
mysql_query ($sql);
)
Berikut adalah apa yang harus Anda lakukan sebagai gantinya:
UPDATE kategori
SET display_order = CASE id
WHEN 1 THEN 3
WHEN 2 THEN 4
WHEN 3 THEN 5
END
WHERE id IN (1,2,3)
Source: http://www.karlrixon.co.uk/articles/sql/update-multiple-rows-with-different-values-and-a-single-sql-query/
Gunakan JOIN bukannya subqueries
Sebagai seorang programmer, subqueries adalah sesuatu yang Anda bisa tergoda untuk menggunakan dan menyalahgunakannya. Subqueries, seperti yang ditunjukkan di bawah ini, dapat sangat berguna:
SELECT a.id,
(SELECT MAX (created)
FROM posts
WHERE author_id = a.id)
AS latest_post FROM authors a
Meskipun subqueries berguna, mereka dapat digantikan dengan JOIN, dan yang jelas akan lebih cepat untuk mengeksekusinya.
SELECT a.id, MAX (p.created) AS latest_post
FROM authors a
INNER JOIN posts p
ON (a.id = p.author_id)
GROUP BY a.id
Source: http://20bits.com/articles/10-tips-for-optimizing-mysql-queries-that-dont-suck/
Hati-hati ketika menggunakan wildcard
Wildcard sangat berguna karena mereka dapat menggantikan satu atau lebih karakter ketika mencari data dalam database. Saya tidak mengatakan bahwa Anda tidak boleh menggunakannya, tetapi sebaliknya, anda harus menggunakannya dengan hati-hati dan tidak menggunakan wildcard penuh ketika awalan atau postfix wildcard dapat melakukan pekerjaan yang sama.
Bahkan, melakukan pencarian wildcard penuh pada satu juta record pasti akan membunuh database Anda.
# Full wildcard
SELECT * FROM table WHERE COLUMN LIKE ‘%halo%’;
# Postfix wildcard
SELECT * FROM TABEL WHERE COLUMN LIKE ‘halo%’;
# Prefix wildcard
SELECT * FROM TABEL WHERE COLUMN LIKE ‘% hello’;
Source: http://hungred.com/useful-information/ways-optimize-sql-queries/
Gunakan UNION daripada OR
Contoh berikut ini menggunakan perintah OR untuk mendapatkan hasilnya:
SELECT * FROM a, b WHERE a.p = b.q OR a.x = b.y;
Pernyataan UNION memungkinkan Anda untuk menggabungkan hasil dari 2 atau lebih queries select. Contoh berikut akan mengembalikan hasil yang sama seperti perintah di atas, tetapi akan lebih cepat:
SELECT * FROM a, b WHERE a.p = b.q
UNION
SELECT * FROM a, b WHERE a.x = b.y
Source: http://www.bcarter.com/optimsql.htm
Menggunakan index
Index database mirip seperti indeks pencarian di perpustakaan: Mereka memungkinkan database untuk menemukan informasi yang diminta lebih cepat, seperti sebuah indeks perpustakaan akan memungkinkan seorang pembaca untuk menemukan apa yang mereka cari tanpa menghabiskan waktu.
Index dapat dibuat pada satu kolom atau kombinasi kolom dalam tabel database. Sebuah index tabel adalah struktur database yang mengatur nilai-nilai dari satu atau lebih kolom dalam tabel database dalam urutan tertentu.
Pertanyaan berikut ini akan membuat index pada Model kolom dari tabel Produk. Index disebut idxModel:
CREATE INDEX idxModel ON Product (Model);
Source: http://www.sql-tutorial.com/sql-indexes-sql-tutorial/

Tuesday, December 29, 2009

Data Manipulation Languange


Data manipulation Language atau DML adalah salah satu jenis bahasa SQL yang digunakan untuk memanipulasi database yang ada, atau dengan kata lain memanipulai table, view, procedure dan lain lain. Data Manipulation Languange terdiri dari perintah-perintah seperti insert, update, dan delete. sedangkan untuk perintah-perintah yang lain dikategorikan dalam perintah Data Definition Language dan Data Control Language.



Wednesday, December 23, 2009

Perintah Input data



Sudah lama rasanya saya tidak menulis untuk artikel bahasa SQL dan artikel saya mengenai bahasa SQL juga masih sedikit sekali dikarenakan keterbatasan waktu luang yang saya milki. kali ini saya ingin memposting artikel mengenai perintah memasukan data pada bahasa SQL. dalam mempraktekan perintah ini saya menggunakan SQL Plus, bagi yang belum mengenal SQL Plus silahkan baca mengenai artikel sebelumnya Mengenal SQL Plus.

untuk memasukan data pada bahasa SQL kita menggunakan perintah Insert , bentuk penulisan perintah ini adalah sebagai berikut :

insert into nama_tabel(field1, field2 ,..,field N) values ('isi field1','isi field2',...,'isi field ke N');

misalkan kita memiliki sebuah tabel yang bernama kategori dengan field id dan nama_kategori jika anda belum memiliki tabel tersebut silahkan anda membuat tabel baru dengan nama kategori , data yang akan dimasukan adalah 1 dan kesehatan maka bentuk penulisan perintah SQL nya adalah seperti dibawah ini :

insert into kategori(id,nama_kategori) values ( 1,'kesehatan);

jalankan perintah sql diatas dengan menekan enter pada sql plus dan lihat hasil data yang kita inputkan tadi dengan menggunakan perintah select.






Thursday, September 24, 2009

Pengenalan Structure Query Language

Structure Query languange adalah sebuah bahasa yang di gunakan untuk mengakses data dari database dengan kriteria tertentu. setidaknya itu berdasarkan pengalaman saya yang baru-baru ini menggeluti dunia database administrator. sebenarnya konsep SQL itu sama saja antara database yang satu dengan yang lain tetapi mungkin memang ada perbedaan dengan SQL yang digunakan yang mengacu pada SQL 92 dengan SQL 93 , untuk mengakses bahasa bahasa standar SQL mungkin tidak akan terlihat bedanya , akan tetapi jika sudah unjuk gigi akan kemampuan dan kehandalan masing masing database itu sendiri baru terlihat bedanya, bahasa - bahasa SQL ini mulai menunjukan tajinya masing masing misalnya dengan menggunakan trigger, procedure, pl sql dan masih banyak lagi.. tetapi untuk saat ini database yang paling powerfull menurut saya berdasarkan yang sudah saya gunakan adalah Oracle.