Yo pienso que si está filtrado los datos como se ve en su sentencia SQL
Código SQL
[-]
JOIN TC_FORMA_PAGO FP ON FP.NRO = TC_CLIENTE.CONDICION_VENTA
WHERE ( (C.ACTIVO = 0) AND :OPCION = 0) OR
( C.ACTIVO = 0 AND C.CONDICION_IVA = :OPCION ) OR
( C.ACTIVO = 0 AND C.CONDICION_IVA > 1 AND :OPCION = 2)
ORDER BY C.NOMBRE_COMERCIAL ASC
Me pregunto, los 34,000 registros cumplirán con esa condición.
La otra cuestión pudiera ser el JOIN.
En todo caso Lepe tiene razón al acotar sobre la normalización de la tabla.
Salud OS.