Thread: Index usage
Hi All, The index created by me is not being used while doing select. I found that out by using the EXPLAIN. For example: Table department has ---------------- dept_num dept_desc Table 'employee' looks like this: -------------------------------- emp_num primary key, emp_name, dept_num (this is by way of foreign key relation from department table) Now, I create an index on the employee table using 'dept_num' as the attribute. And when I run select which looks like: Explain Select * from employee where dept_num = 'Finance'; It does not use the index and tells me that a Sequential scan will be done on the table employee. How do I fix this? Thanx in advance, Subra __________________________________________________ Do You Yahoo!? Get personalized email addresses from Yahoo! Mail - only $35 a year! http://personal.mail.yahoo.com/
On Fri, 8 Jun 2001, Subra Radhakrishnan wrote: > Hi All, > > The index created by me is not being used while doing > select. I found that out by using the EXPLAIN. For > example: > > Table department has > ---------------- > dept_num > dept_desc > > > Table 'employee' looks like this: > -------------------------------- > emp_num primary key, > emp_name, > dept_num (this is by way of foreign key relation from > department table) > > Now, I create an index on the employee table using > 'dept_num' as the attribute. And when I run select > which looks like: > > Explain Select * from employee where dept_num = > 'Finance'; > > It does not use the index and tells me that a > Sequential scan will be done on the table employee. > > How do I fix this? Have you run vacuum analyze, what's the full schema (with types) and the explain output?
Subra Radhakrishnan writes: > Now, I create an index on the employee table using > 'dept_num' as the attribute. And when I run select > which looks like: > > Explain Select * from employee where dept_num = > 'Finance'; > > It does not use the index and tells me that a > Sequential scan will be done on the table employee. > > How do I fix this? Unless you can prove that an index scan is going to be faster than a sequential scan, you don't. Just because there's an index doesn't mean it's always the best choice to use it. -- Peter Eisentraut peter_e@gmx.net http://funkturm.homeip.net/~peter