¿Por qué un ligero cambio en el término de búsqueda ralentiza tanto la consulta?

Tengo la siguiente consulta en PostgreSQL (9.5.1):

select e.id, (select count(id) from imgitem ii where ii.tabid = e.id and ii.tab = 'esp') as imgs,
 e.ano, e.mes, e.dia, cast(cast(e.ano as varchar(4))||'-'||right('0'||cast(e.mes as varchar(2)),2)||'-'|| right('0'||cast(e.dia as varchar(2)),2) as varchar(10)) as data,
 pl.pltag, e.inpa, e.det, d.ano anodet, coalesce(p.abrev,'')||' ('||coalesce(p.prenome,'')||')' determinador, d.tax, coalesce(v.val,v.valf)||' '||vu.unit as altura,
 coalesce(v1.val,v1.valf)||' '||vu1.unit as DAP, d.fam, tf.nome família, d.gen, tg.nome gênero, d.sp, ts.nome espécie, d.inf, e.loc, l.nome localidade, e.lat, e.lon
from esp e
left join det d on e.det = d.id
left join tax tf on d.fam = tf.oldfam
left join tax tg on d.gen = tg.oldgen
left join tax ts on d.sp = ts.oldsp
left join tax ti on d.inf = ti.oldinf
left join loc l on e.loc = l.id
left join pess p on p.id = d.detby
left join var v on v.esp = e.id and v.key = 265
left join varunit vu on vu.id = v.unit
left join var v1 on v1.esp = e.id and v1.key = 264
left join varunit vu1 on vu1.id = v1.unit
left join pl on pl.id = e.pl
WHERE unaccent(TEXT(coalesce(p.abrev,'')||' ('||coalesce(p.prenome,'')||')')) ilike unaccent('%vicen%')

Se necesitan 430 ms para recuperar 1129 filas de un total de 9250 enesp mesa.

Si cambio el término de búsqueda de%vicen% a%vicent% (agregando una 't'), se necesitan 431 ms para recuperar las mismas 1129 filas.

Ordenando por la columna de búsqueda, ascendente y descendente, veo que todas las 1129 filas tienen exactamente el mismo nombre en ambos casos.

Ahora lo extraño: si cambio el término de búsqueda de%vicent% a%vicenti% (agregando una 'i'), ahora se necesita increíble24,4 segundos para recuperar las mismas 1129 filas!

El término buscado siempre está en el primercoalescees decircoalesce(p.abrev,''). Espero que la consulta se ejecute más lento o más rápido, dependiendo del tamaño de la cadena buscada, ¡pero no tanto! Alguien tiene alguna idea de lo que está pasando?

Resultados deEXPLAIN ANALYZE (excedería el límite de 30k caracteres aquí):

por%vicen%: http://explain.depesz.com/s/2XF

por%vicenti%: http://explain.depesz.com/s/dEc6

Respuestas a la pregunta(2)

Su respuesta a la pregunta