Aku mung nemoni masalah kinerja ing database SQL ing ngisor iki: Ing tabel SQL sing diarani "pangguna" kanthi ~ 1.000.000 entri, butuh 28 detik sing ora bisa ditampa kanggo nemtokake jumlah registrasi saiki. Wektu registrasi disimpen ing format "Ymd H: i: s" ing kolom "digawe".
Pitakon sing digunakake
SELECT COUNT(ID) FROM users WHERE DATE(created) = '2014-12-21';
nyebabake wektu mbukak iki, sanajan wis ana indeks ing kolom "digawe" format DATETIME
ALTER TABLE `users` ADD INDEX `created` (`created`);
wis disetel. Alesan kinerja sing kurang apik yaiku telpon fungsi DATE: Kolom sing diindeks "digawe" dikirim dening fungsi DATE lan nggawe indeks ora efektif. Query Optimizer mung ngerti "digawe", nanging dudu asile DATE (digawe). Pitakon sing dioptimalake