[GENERAL] Very long or where clause

2007-01-16 Thread Scara Maccai
Hi, from a table with 100,000,000 rows I have to sum some records using a query like: select sum(field1) from mytab where (time = 1 and id = 3) or (time = 3 and id = 1) or (time = 2 and id = 5) [...] The or clauses can be even 10,000,000... Which would be the best method to access data?

Re: [GENERAL] Very long or where clause

2007-01-16 Thread Florian Weimer
* Scara Maccai: Which would be the best method to access data? Should I use a procedure on the server side? I tend to use a join to a temporary table for similar purposes. It seems like the cleanest approach. -- Florian Weimer[EMAIL PROTECTED] BFK edv-consulting GmbH

Re: [GENERAL] Very long or where clause

2007-01-16 Thread Richard Huxton
Scara Maccai wrote: Hi, from a table with 100,000,000 rows I have to sum some records using a query like: select sum(field1) from mytab where (time = 1 and id = 3) or (time = 3 and id = 1) or (time = 2 and id = 5) The or clauses can be even 10,000,000... Which would be the best method to

Re: [GENERAL] Very long or where clause

2007-01-16 Thread Scara Maccai
Put the test-values into a temporary table, analyse it and then join against it. Ok, I didn't think of it. Can't say about indexes without knowing more about your usage pattern. What do you mean? ---(end of broadcast)--- TIP 2: Don't

Re: [GENERAL] Very long or where clause

2007-01-16 Thread Richard Huxton
Scara Maccai wrote: Put the test-values into a temporary table, analyse it and then join against it. Ok, I didn't think of it. Can't say about indexes without knowing more about your usage pattern. What do you mean? You might want an index on time, id, (id,time) or (time,id) - depends