Also consider the situation with multiple rows on the other side of the join: in that case the one side repeats as many times as there are rows
----- Bericht beantwoorden ----- Van: "'Mark Rotteveel' m...@lawinegevaar.nl [firebird-support]" <firebird-support@yahoogroups.com> Aan: <firebird-support@yahoogroups.com> Onderwerp: [firebird-support] VIEW optimization Datum: do, apr. 7, 2016 19:31 For a join (inner join), the rows must exist in both tables, so both tables need to be evaluated. Mark ----- Bericht beantwoorden ----- Van: "Gabor Boros gaborbo...@yahoo.com [firebird-support]" <firebird-support@yahoogroups.com> Aan: <firebird-support@yahoogroups.com> Onderwerp: [firebird-support] VIEW optimization Datum: do, apr. 7, 2016 19:06 2016. 04. 07. 18:48 keltezéssel, 'Mark Rotteveel' m...@lawinegevaar.nl [firebird-support] írta: > Why wouldn't it be necessary, this is an inner join, so the joined table > needs to be evaluated if the matches row is present. > > SELECT RDB$FIELD_NAME FROM VIEW1 SELECT RDB$FIELD_NAME FROM RDB$RELATION_FIELDS For me the two SELECT is equal. Is not? I don't understand why the JOIN is in the PLAN when not needed for the result. My original problem is... I have a complex SELECT and build up it at runtime in my application include only the needed fields, JOINs in it. If create a VIEW from the whole SELECT all JOIN etc executed even if only a single field needed which can available without any JOIN or other thing. Gabor ------------------------------------ ------------------------------------ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Visit http://www.firebirdsql.org and click the Documentation item on the main (top) menu. Try FAQ and other links from the left-side menu there. Also search the knowledgebases at http://www.ibphoenix.com/resources/documents/ ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ ------------------------------------ Yahoo Groups Links