Mysql “IN/NOT IN” yang boros MEMORY – blogwalking 

Saya mencoba menggunakan klause IN di mysql untuk mendapatkan data dalam sebuah array, sebagai contoh

$dataId = array(1,5,8,3,12,11,13,9,16,13);

$sql = mysql_query(’select * from data_pegawai where id IN (’.implode(’,’, $dataId).’)’);

memang lebih simple dan sederhana, tapi setelah data di table data_pegawai banyak, query itu menjadi sangat lambat dan menghabiskan memory, mungkin masalahnya karena klausa IN akan membandingkan setiap data dengan isi barisan parameter.

kemudian saya mencoba menggunakan klause OR

$sql = mysql_query(’select * from data_pegawai where id=1 OR id=5 OR id=8 OR id=3 OR id=12 OR id=11 OR id=32 OR id=9 OR id=16 OR id=32′);

hasilnya lumayan cepat dan tidak begitu banyak makan memory.

Sementara IN dan Not IN saya tinggalkan jika untuk data gede.


Sumber:Bambang Scrap code

Iklan