Subject | Re: [firebird-support] Re: Wish list |
---|---|
Author | Alexandre Benson Smith |
Post date | 2004-06-15T16:19:54Z |
develop111 wrote:
This question was discussed sometimes on the list, take a look on the
history, to see a lot of thoughts...
Did you tried to insert these memory values to a table, and make a join
instead of an "in" ?
insert into My_Relation_Table values(1);
insert into My_Relation_Table values(2);
insert into My_Relation_Table values(3);
...
insert into My_Relation_Table values(9999);
SELECT
*
FROM
Employees
join My_Relation_Table on (My_Relation_Table.EmployeeID = Employees.EmployeeID)
The limit will be vanished and I think you will have a better performance...
You could use CURRENT_TRANSACTION and other system variables to
distinguish between diferente users/process
See you !
--
Alexandre Benson Smith
Development
THOR Software e Comercial Ltda.
Santo Andre - Sao Paulo - Brazil
www.thorsoftware.com.br
>Hi,Hi,
>
>OK, here is the suggestion/wish.
>
>We currently have a complex database structure and a lot of
>information (almost access rights) are all managed directly into
>memory. So, we often have to use the clause "IN" in our queries such
>as:
>
>SELECT * FROM EMPLOYEES WHERE EMPLOYEE_ID IN (Item1, Item2,...
>Item1500);
>
>The problem is that the "IN" clause has a limitation of 1500 items.
>So, it gives us a lot of problems.
>
>Do you know if that limitation could be removed in a next version of
>Firebird ?
>
>I already know that I could use the "IN" clause in sub-queries but
>this way is not good enough for us.
>
>Thanks to all.
>
>
This question was discussed sometimes on the list, take a look on the
history, to see a lot of thoughts...
Did you tried to insert these memory values to a table, and make a join
instead of an "in" ?
insert into My_Relation_Table values(1);
insert into My_Relation_Table values(2);
insert into My_Relation_Table values(3);
...
insert into My_Relation_Table values(9999);
SELECT
*
FROM
Employees
join My_Relation_Table on (My_Relation_Table.EmployeeID = Employees.EmployeeID)
The limit will be vanished and I think you will have a better performance...
You could use CURRENT_TRANSACTION and other system variables to
distinguish between diferente users/process
See you !
--
Alexandre Benson Smith
Development
THOR Software e Comercial Ltda.
Santo Andre - Sao Paulo - Brazil
www.thorsoftware.com.br