Pues tendrías que mirar el explain:
EXPLAIN SELECT `contrato`.`id`, `contrato`.`n_contrato`, `cliente`.`tipoc`, `cliente`.`nombremp`, `cliente`.`nombre` AS cnombre, `cliente`.`apellidos` AS capellidos, `fiador`.`nombre` AS fnombre, `fiador`.`apellidos` AS fapellidos, `promotor`.`nombrecorto` AS prnombrecorto, `promotor`.`nombre` AS prnombre, `promotor`.`apellidos` AS prapellidos, `contrato`.`f_firma`, `contrato`.`f_final`, `contrato`.`f_revicion`, `contrato`.`importe`, `contrato`.`facimporte`, `inmueble`.`nombre` AS inmuebles, `inmueble`.`direccion` AS idireccion, `inmueble`.`id` AS idinmueble, `propietario`.`nombrecorto` AS pnombrecorto, `propietario`.`nombre` AS pnombre, `propietario`.`apellidos` AS papellidos, `documentos`.`ruta_doc`, `documentos`.`iddrive`, `cliente`.`rutap_doc` AS rutac, `fiador`.`rutap_doc` AS rutaf, `propietario`.`rutap_doc` AS rutap, `promotor`.`rutap_doc` AS rutapr, `contrato`.`id_documento`, `contrato`.`id_promotor`, `contrato`.`id_cliente`, `contrato`.`id_fiador`, `contrato`.`vencido`, DATE_FORMAT(f_firma, ' %d-%m-%Y') AS ffirma, DATE_FORMAT(f_final, ' %d-%m-%Y') AS ffinal, DATEDIFF(f_final, CURDATE()) AS dia, DATEDIFF(f_revicion, CURDATE()) AS diar
FROM (`contrato` LEFT JOIN cliente ON contrato.id_cliente = cliente.id LEFT JOIN fiador ON contrato.id_fiador = fiador.id LEFT JOIN promotor ON contrato.id_promotor = promotor.id LEFT JOIN documentos ON contrato.id_documento = documentos.id LEFT JOIN inmueble ON contrato.id_inmueble = inmueble.id LEFT JOIN propietario ON inmueble.id_propietario = propietario.id)
WHERE `vencido` = '2'
ORDER BY `n_contrato` ASC, `inmuebles` ASC, `f_final` ASC, `f_final` ASC, `importe` ASC
LIMIT 20