Posta l'output di

show create table persone

show create table chiamate

e di

codice:
explain select p.nome,p.cognome,tab3.datachiamata,tab3.rispostaallachiamata 
from persone as p
left join (
select * 
from 
(select concat(id_persona,max(datachiamata)) as ultima from chiamate
group by id_persona) as tab1
left join chiamate as tab2 
on tab1.ultima = concat(tab2.id_persona,tab2.datachiamata)) as tab3
on p.id = tab3.id_persona