Robert Haas <robertmhaas@gmail.com> writes:
> On Tue, Oct 5, 2010 at 10:41 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> (I'd also say that your performance estimate is miles in advance of any
>> facts; but even if it's true, the caching ought to be inside the FDW,
>> because we have no clear idea of what it will need to cache.)
> I can't imagine how an FDW could possibly be expected to perform well
> without some persistent local data storage. Even assume the remote
> end is PG. To return a cost, it's going to need the contents of
> pg_statistic cached locally, for each remote table.
Or it could ask the remote side.
> Do you really
> think it's going to work to incur that overhead once per table per
> backend startup?
If you have a cache, how are you going to manage updates of it?
IMO this is a *clear* case of premature optimization being the root of
all evil. We should get it working first and then see what needs to be
optimized by measuring, rather than guessing in a vacuum.
(BTW, if the remote end is PG I would hardly think that we'd send SQL
queries at all. If we're interested in micro-optimization, we'd devise
some lower-level protocol.)
regards, tom lane