Warum verlangsamt eine geringfügige Änderung des Suchbegriffs die Abfrage so sehr?

Ich habe die folgende Abfrage in 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%')

Es dauert 430 ms, um 1129 Zeilen von insgesamt 9250 in @ abzurufeesp Tabelle

Wenn ich den Suchbegriff von @ ände%vicen% zu%vicent% (Hinzufügen eines 't'), es dauert 431 ms, um die gleichen 1129 Zeilen abzurufen.

Bei aufsteigender und absteigender Sortierung in der Suchspalte sehe ich, dass alle 1129 Zeilen in beiden Fällen genau den gleichen Namen haben.

Now the strange: wenn ich den Suchbegriff von @ ände%vicent% zu%vicenti% (Hinzufügen eines 'i'), jetzt dauert es unglaublich 24,4 Sekunden um die gleichen 1129 Zeilen abzurufen!

Der gesuchte Begriff steht immer im erstencoalesce, d. h.coalesce(p.abrev,''). Ich erwarte, dass die Abfrage langsamer oder schneller ausgeführt wird, abhängig von der Größe der gesuchten Zeichenfolge, aber nicht so viel !! Hat jemand eine Idee, was los ist?

Ergebnisse vonEXPLAIN ANALYZE (würde das Limit von 30k Zeichen hier überschreiten):

Zum%vicen%: http: //explain.depesz.com/s/2X

Zum%vicenti%: http: //explain.depesz.com/s/dEc

Antworten auf die Frage(4)

Ihre Antwort auf die Frage