Hello, Jan.

Have you considered join="zipper" ?

On Thu, Oct 31, 2019 at 12:52 AM Jan Høydahl <jan....@cominvent.com> wrote:

> I need a SELECT which filters IDS based on an ‘id’ list coming from
> another database, i.e. SELECT * FROM maindb.maintable WHERE id IN (SELECT
> myid FROM otherdb.other_table).
>
> The docs are fetched from a MySql DB while the list of IDs to includ in
> that first SELECT WHERE statement is fetched from a view in a PgSql DB, so
> you cannot simply include the table name in the WHERE clause. I have added
> two dataSources, and I think I’ll need an <entity> which caches the ID list
> from ‘otherdb’ in memory and then somehow references that cached list in
> place of the inner select?
>
> However since the list of IDs are UUID strings and there are a few
> thousand of them, I guess the SELECT becomes too large if you just send a
> huge OR clause to MySql. I have been thinking about a 2-stage solution,
> first create a temp table in MySql and INSERT all the IDs there, then
> include the temp table in the WHERE as usual, and delete the tmp table
> afterwards. Does DIH have a built-in and efficient feature for such an
> operation?
>
> --
> Jan Høydahl, search solution architect
> Cominvent AS - www.cominvent.com
>
>

-- 
Sincerely yours
Mikhail Khludnev

Reply via email to