Mensaje
De
16/12/2006 17:25:36
 
 
a
16/12/2006 17:16:32
General information
Foro:
Visual FoxPro
Category:
Bases de datos, tablas, vistas, índices y SQL
Environment versions
Visual FoxPro:
VFP 9 SP1
OS:
Windows XP SP2
Database:
Visual FoxPro
Miscellaneous
ID de la conversación:
01178287
ID del mensaje:
01178310
Views:
25
>Because you use an INNER JOIN,
>this:
>
>SELECT Member.Numero,Status.Numero FROM Member;
> INNER JOIN Status ON Member.NoStatus=Status.Numero;
> WHERE Member.NumeroI=4112;
> ORDER BY 1 ASC
>
>
>is equal to:
>
>SELECT Member.Numero,Member.NoStatus FROM Member;
> INNER JOIN Status ON Member.NoStatus=Status.Numero;
> WHERE Member.NumeroI=4112;
> ORDER BY 1 ASC
>
>
>If Status.Numero is indexed,
>the exists() condition require ( one or many ) seek on the index ( except for the deleted() condition ).
>and the Status Table can to be ignored.
>
>SQL Server works so, but it seems me strange that VFP has these optimizations.
>
>compare the INNER with the LEFT JOIN

Thanks, I have workarounded the issue by adding an additional field in the main table, avoiding by the same the use of the inner join which was not necessarily fully optimizable in such circumstance. When comes time to deal with big tables, sometimes, such a design is worthwhile.
Michel Fournier
Level Extreme Inc.
Designer, architect, owner of the Level Extreme Platform
Subscribe to the site at https://www.levelextreme.com/Home/DataEntry?Activator=55&NoStore=303
Subscription benefits https://www.levelextreme.com/Home/ViewPage?Activator=7&ID=52
Previous
Responder
Mapa
Ver