From: | Stanislav Raskin <raskin(at)livn(dot)de> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: full text search to_tsquery performance with ispell dictionary |
Date: | 2011-05-11 14:39:50 |
Message-ID: | C9F069FB.2031A%raskin@livn.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
>
>
>
>Yes, loading a large dictionary is known to be a fairly expensive
>operation. There's been discussions about how to make it cheaper, but
>nothing's been done yet.
>
> regards, tom lane
Hi Tom,
thanks for the quick response. Bad news for me ;(
We develop ajax-driven web apps, which sort of rely on quick calls to data
services. Each call to a service opens a new connection. This makes the
search service, if using fts and ispell, about 100 times slower than a
"dumb" ILIKE-implementation.
Is there any way of hack or compromise to achieve good performance without
losing fts ability?
I am thinking, for example, of a way to permanently keep a loaded
dictionary in memory instead of loading it for every connection. As I
wrote in response to Pavel Stehule's post, connection pooling is not
really an option.
Our front-end is strictly PHP, so I was thinking about using a single
persistent connection
(http://de.php.net/manual/en/function.pg-pconnect.php) for all calls. Is
there some sort of major disadvantage in this approach from the database
point of view?
Kind regards
--
Stanislav Raskin
From | Date | Subject | |
---|---|---|---|
Next Message | Alex - | 2011-05-11 14:41:40 | Recursive select / updates |
Previous Message | Seb | 2011-05-11 14:38:04 | Re: temporarily disabling foreign keys |