Selesai menulis pertanyaan ketika jawabannya memukul saya, jadi tetap posting untuk berbagi pengetahuan!
Saya menyadari bahwa nilai kembalian fungsi metafon adalah UTF8.
Perbandingan dengan bidang latin1 jelas menimbulkan overhead kinerja yang cukup berat.
Saya mengganti penugasan variabel dengan:
SET @metaphone_val:= CONVERT(double_metaphone(p_parameter) USING latin1);
Sekarang kueri berjalan secepat yang saya harapkan.