2014-05-19

optimize: dgn merubah tipe en cara cari.. didapat

nyoba mitos sebentar.. anyway baca artikel berikut
http://pojokprogrammer.net/content/performance-tuning-sederhana-di-mysql-menggunakan-index
lalu saya akan uji berdasarkan dari pc gw sendiri.. asumsikan bahwa angka yg gw dapetin ini sama seperti kamu punya.. misal km 9 detik.. tp di gw 3 detik.. asumsikan sama.. disini mau test apakah
1. pake count (*) lebih lambat dari count(baris)
2. perbedaan tipe innodb ngaruh besar?

ujicoba ada 2 yaitu
select tanpa pembatasan (where) dengan pembatasan (pake where)
kode yang where
select count(...) from table where baris <= 100 and baris >= 2207181

INNODB 

untuk count tanpa where
* vs baris = 1.14 vs 1.24 | 2 vs 2.16

untuk count dengan where
* vs baris =  0.95 vs 1.34 | 1.67 vs 1.65

MYISAM

untuk count tanpa where
* vs baris = 0 vs 1.79 | masih sama!

untuk count dengan where
* vs baris =  1.38 vs 1.34 | 1.25 vs 1.33

silakan komen dibawah

nb: baris dibuat index. pada angka awal saya menambahkan id sebagai primary dan auto-increment. Yang tebal adalah waktu untuk table yg tidak ada id !!

query : mencari yang tidak punya pasangan (not Join)

berawal dari kebutuhan cara menemukan data yang tidak memiliki relasi. Gw cari-cari deh referensi di internet. Namun walaupun berhasil menemukan, tidak semua faham akan cara pakainya bila kita tidak melatihnya. Jadi saya bikin skenario sebagai berikut
Belajar dulu gan

Pertama buat dahulu table mobile_system
CREATE TABLE IF NOT EXISTS `mobile_system` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`detail` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ;
lalu insert
INSERT INTO  `mobile_system` (`id`, `name`, `detail`) VALUES  
(NULL, 'Ios', ''), 
(NULL, 'Android', ''), 
(NULL, 'BB', ''),
 (NULL, 'Palm', ''), 
(NULL, 'Win', ''), 
(NULL, 'Firefox OS', ''),
 (NULL, 'Meer', ''),
 (NULL, 'Tizen', '');
maaf atas pemilihan warnanya.. Lalu lanjutkan dengan table phonegap_system
CREATE TABLE IF NOT EXISTS `phonegap_system` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`sys` int(11) NOT NULL,
PRIMARY KEY (`id`)
)