Optimalkan Database MySql


 

1.Optimalkan Query anda dengan Cache!

Kebanyakan Sekarang MYSQL Server udah menyediakan fasilitas Query Chacing. kalian tau nggak, ini adalah salah satu cara jitu dalam mengoptimasi database anda, karena nggak berulang-ulang mengakses ke table yang sama, tapi script atau system yang anda buat membaca dulu di Chace Server. ini nich contohnya:

// query cache nggak jalan

$r = mysql_query(“SELECT username FROM user WHERE signup_date >= CURDATE()”);
// query cache jalan
$today = date(“Y-m-d”);
$r = mysql_query(“SELECT username FROM user WHERE signup_date >= ‘$today’”);

Alasan utama Query yang pertama nggak jalan adalahfungsi CURDATE() nggak berjalan dengan baik, nach akal-akalanya adalah seperti yang kedua :D (cara jahat)

2.Hindari Select*

Pada kasus-kasus tertentu, ini emang super duper nggak perlu banget, what the reason? yach mudah aja kalau kalian cuma di suruh mengambil 1 kacang dari bungkusnya, kenapa emngambil ekalian bungkusnya :D , untuk jelasnya adalah sebagai berikut :

// nggak dianjurkan

$r = mysql_query(“SELECT * FROM user WHERE user_id = 1″);

$d = mysql_fetch_assoc($r);

echo “Welcome {$d[‘username’]}”;

// Ini yang sip!:

$r = mysql_query(“SELECT username FROM user WHERE user_id = 1″);

$d = mysql_fetch_assoc($r);

echo “Welcome {$d[‘username’]}”;

3.Gunakan tipe data yang dibutuhkan saja

Nach ini yang sering di lupakan untuk para pemula, misal aja untuk tabel yang memiliki sedikit field dan sedikit record nantinya, kenapa harus menggunkana int, apa nggak lebih baik menggunakan TINYINT, atau untuk tanggal anda kan bisa menggunakan DATE()

4.Jangan Pernah Menggunakan ORDER BY RAND()

Penjelasannya sih sama aja dengan no 2, effisiensi waktu dan resource nich study kasus nya

// Lebih baik jangan di lakuin deh!

$r = mysql_query(“SELECT username FROM user ORDER BY RAND() LIMIT 1″);

//lebih baek!

$r = mysql_query(“SELECT count(*) FROM user”);

$d = mysql_fetch_row($r);

$rand = mt_rand(0,$d[0] – 1);

$r = mysql_query(“SELECT username FROM user LIMIT $rand, 1″);

permalink

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: