Re: Plan rows - 1 or many
От | Peter Mogensen |
---|---|
Тема | Re: Plan rows - 1 or many |
Дата | |
Msg-id | 532020A0.5050306@one.com обсуждение исходный текст |
Ответ на | Re: Plan rows - 1 or many (Albe Laurenz <laurenz.albe@wien.gv.at>) |
Список | pgsql-general |
On 2014-03-12 09:28, Albe Laurenz wrote: > Peter Mogensen wrote: >> I have an application where I would really like to be able to look at en >> SQL query and answer the question: >> >> "Is this query capable of returning more than 1 row?" > >> Can I conclude that when plan_rows is 1 then there will never be more >> than 1 row returned by the query? > > I would say no. > > If the planner estimates one row, that means that it guesses that > it will be one or less. I think "guesses" is the operative word here. Because, if the planner can actually promise that for the example queries a gave there would be "one or less" rows, then I'm happy. > And a query that can potentially return many rows can certainly > also return only one row or none at all. But that's fine... I have no problem with an answer telling me that this query can return any number of rows. Hmm.. I think my question is answered by posing it in another way: Could "plan rows" tell me whether the result of a given query could be changed by later INSERT statements? And the answer becomes "no", because there's a difference between queries of the type I gave as example and queries using aggregates and GROUP BY. ... for which the planner would also return "plan_rows = 1". However... GROUP BY queries could have their result changed by later INSERT statements. /Peter
В списке pgsql-general по дате отправления: