Ada beberapa cara yang bisa dilakukan untuk meng-optimize query pada data yang sudah semakin banyak. Untuk lebih jelasnya bisa baca Sub-bab Optimizing SELECT and Other Statements di Manual MySQL 5. Garis besarnya kira-kira begini :

1. Buat INDEX pada field-field yang sering dicari, sebisa mungkin gunakan UNIQUE INDEX pada field-field unik bukan PRIMARY KEY.

2. Optimasikan Query dengan sebisa mungkin mengurangi operasi JOIN yang kompleks.

3. Analisa terlebih dahulu query2 yang kompleks dengan perintah EXPLAIN. Cth. EXPLAIN SELECT * FROM tbl1 INNER JOIN tbl2 ON tbl1.id=tbl2.fid;

4. Gunakan Replication apabila memungkinkan, dimana beban query yang kompleks bisa dibagi server2 slave mysql, sehingga beban database server bisa didistribusikan.

5. Ubah setting my.cnf/my.ini terutama di section [mysqld], terutama di variabel2 ini :
key_buffer = 32M
max_allowed_packet = 2M
table_cache = 128
sort_buffer_size = 1024K
net_buffer_length = 16K
read_buffer_size = 512K
read_rnd_buffer_size = 1024K
myisam_sort_buffer_size = 16M

Semoga membantu dan jangan lupa download dan baca manual MySQL 5 untuk lebih detailnya.

dikutip dari milis