Lam kenal member DWH semua.. 
Thread pertama, mau konsultasi nih...
Saya punya unmanaged VPS di ramnode untuk situs wordpress kecil2an... speknya:
1GB RAM
vCPU 4core
SSD 28GB
OS debian 7
Virtualisasi KVM
Nah, saya penasaran dengan slow queries yang selalu muncul di log mysql. Oh ya, saya pake nginx, php5-fpm, dan mariaDB. Denger2 ketiga kombinasi itu membuat performa dan efisiensi VPS lebih baik.
Saya cek menggunakan mysqltuner.pl, "Joins performed without indexes"-nya banyak.. dan query diatas ada "INNER JOIN"-nya jadi asumsi saya query diatas lambat jalannya karena gak ada index (maaf kalo salah).
Itu gimana cara ngatasinnya ya tuan-tuan?
Bagaimana cara membuat index agar query diatas tereksekusi dengan baik?
Apa yang dilakukan query diatas? ini juga bikin saya bingung.
Kalo bisa teratasi mungkin load average bakalan banyak berkurang nih...
wordpress 4.1.1
nginx 1.2.1

Thread pertama, mau konsultasi nih...

Saya punya unmanaged VPS di ramnode untuk situs wordpress kecil2an... speknya:
1GB RAM
vCPU 4core
SSD 28GB
OS debian 7
Virtualisasi KVM
Nah, saya penasaran dengan slow queries yang selalu muncul di log mysql. Oh ya, saya pake nginx, php5-fpm, dan mariaDB. Denger2 ketiga kombinasi itu membuat performa dan efisiensi VPS lebih baik.
Code:
# User@Host: root[root] @ localhost []
# Thread_id: 1951351 Schema: wpdata QC_hit: No
# Query_time: 0.000623 Lock_time: 0.000115 Rows_sent: 5 Rows_examined: 20
# Full_scan: No Full_join: Yes Tmp_table: Yes Tmp_table_on_disk: Yes
# Filesort: Yes Filesort_on_disk: No Merge_passes: 0 Priority_queue: No
SET timestamp=1431784365;
SELECT t.*, tt.*, tr.object_id FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON tt.term_id = t.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('category', 'post_tag', 'post_format') AND tr.object_id IN (25342, 15059, 18538, 20958, 4575) ORDER BY t.name ASC;
# User@Host: root[root] @ localhost []
# Thread_id: 1951354 Schema: wpdata QC_hit: No
# Query_time: 0.000701 Lock_time: 0.000110 Rows_sent: 5 Rows_examined: 20
# Full_scan: No Full_join: Yes Tmp_table: Yes Tmp_table_on_disk: Yes
# Filesort: Yes Filesort_on_disk: No Merge_passes: 0 Priority_queue: No
SET timestamp=1431784365;
SELECT t.*, tt.*, tr.object_id FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON tt.term_id = t.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('category', 'post_tag', 'post_format') AND tr.object_id IN (16003, 12431, 4728, 10836, 9384) ORDER BY t.name ASC;
# User@Host: root[root] @ localhost []
# Thread_id: 1951355 Schema: wpdata QC_hit: No
# Query_time: 0.000602 Lock_time: 0.000097 Rows_sent: 5 Rows_examined: 20
# Full_scan: No Full_join: Yes Tmp_table: Yes Tmp_table_on_disk: Yes
# Filesort: Yes Filesort_on_disk: No Merge_passes: 0 Priority_queue: No
SET timestamp=1431784365;
SELECT t.*, tt.*, tr.object_id FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON tt.term_id = t.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('category', 'post_tag', 'post_format') AND tr.object_id IN (11852, 9171, 11031, 4416, 200) ORDER BY t.name ASC;
Saya cek menggunakan mysqltuner.pl, "Joins performed without indexes"-nya banyak.. dan query diatas ada "INNER JOIN"-nya jadi asumsi saya query diatas lambat jalannya karena gak ada index (maaf kalo salah).
Itu gimana cara ngatasinnya ya tuan-tuan?
Bagaimana cara membuat index agar query diatas tereksekusi dengan baik?
Apa yang dilakukan query diatas? ini juga bikin saya bingung.
Kalo bisa teratasi mungkin load average bakalan banyak berkurang nih...

wordpress 4.1.1
nginx 1.2.1