0

Is there already a canonical QA for troubleshooting why an index might not be used, even though the index exists? If not, is there an appetite for one? Should it be per-DB flavor or generic?

The reason I ask is that one of my indexes was not used because of a mismatched character set between the base table and the joined table, and it would have been nice to see an answer collection that would have suggested that as a possible culprit, rather than culling through many "my index is not working" questions that all had different underlying causes.

4
  • 1
    How is one question with a myriad different answers better than a myriad questions with one answer each?
    – mustaccio
    Commented Jul 25, 2022 at 17:30
  • Not convinced there should be one. Each case is so individual, it's hard to give generalized guidance. Perhaps there should be a canonical meta question: "Why must I give full details when asking for index/performance advice?" Oh no, we already have one Commented Jul 26, 2022 at 12:01
  • @mustaccio the main benefit is discoverability; having all the answers (reasons why an index might not be used) in one place is easier to find than a myriad of questions (I've seen 5 different reasons; how many more might there be? Where would I go to look for them?). It's like using an index in a database: in general it is faster to use the index (i.e. read a list of possible reasons that indexes might not be used) than it is to do a full table scan (i.e., search through all possible posts about indexes).
    – enharmonic
    Commented Jul 26, 2022 at 15:37
  • 1
    If you find particularly good posts, you can suggest they get added to dba.meta.stackexchange.com/questions/708/canonical-answers Commented Aug 3, 2022 at 18:54

1 Answer 1

1

I don't believe there can be a canonical answer to the question of why an index isn't used in any particular case, not even for one DBMS. As Lev Tolstoy once said, every unhappy execution plan is unhappy in its own way.

If you have developed a solution for a particular problem that was not solved before, please consider posting a well-defined, properly tagged question and self-answer it. If the problem is common enough, and the answer is useful enough, it will bubble up towards the top, thanks to the SE hive mind, and will be duly picked up by search algorithms.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .