vBulletin Search Engine Optimization
| |||||||
| Register | FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| On Thu, Dec 14, 2006 at 10:06:45AM -0300, Felipe Rondon Rocha wrote: > Hi everyone, > > Do you know in which part of the file analyze.c, PostgreSQL decides > to use or not an index? Iīm making a test and I canīt trace the > moment that he makes the choice. It doesn't explicitly make the choice anywhere. The planner makes a set of "paths" that can be used. So for each table a "path" is made for a sequential scan and one or more "paths" for each index. For each a cost is calcualted and whichever has the lowest cost is the one chosen. It's quite dynamic, the choice also depends on what happens to the result. There's no point using an index if the result is in the wrong order for the join, for example. Have a nice day, -- Martijn van Oosterhout <kleptog@svana.org> http://svana.org/kleptog/ > From each according to his ability. To each according to his ability to litigate. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.1 (GNU/Linux) iD8DBQFFgUnuIB7bNG8LQkwRAsUMAKCPOTThGU4UtdZUNFFazN 0bU21ccACgjIEZ AA1CzG2c2hdGOa8kk6TKGj0= =rgpl -----END PGP SIGNATURE----- |