Specifying many rows in a table
От | Steve Atkins |
---|---|
Тема | Specifying many rows in a table |
Дата | |
Msg-id | 20040128193222.GA3502@gp.word-to-the-wise.com обсуждение исходный текст |
Ответы |
Re: Specifying many rows in a table
Re: Specifying many rows in a table |
Список | pgsql-general |
I have a large table (potentially tens or hundreds of millions of rows) and I need to extract some number of these rows, defined by an integer primary key. So, the obvious answer is select * from table where id in (1,3,4); But I may want to extract a large number of rows, many thousands select * from table where id in (1, 3, 5, ...., 100000, 100017, 23000); This falls over when it exceeds the maximum expression depth of 10,000. And I have a sneaky feeling that increasing max_expr_depth isn't the right fix. Performance is pretty important, so does anyone have a good suggestion for how to phrase this query so that it'll at worst only be a single seq-scan through the mondo table, and make a reasonable choice as to whether to use an index-scan or seq-scan, depending on the number of rows I'm pulling out? Cheers, Steve
В списке pgsql-general по дате отправления: