MySQL AB staff:
1) The recent discussion on the subject "Not using indexes???" brought to
light an opportunity for interpreting the documentation in contradictory
ways. The page http://www.mysql.com/doc/M/y/MySQL_indexes.html does not
mention the IS NOT NULL comparison operator, nor does it mention the
inequality (<>) operator.
This allows the reader to believe that since those operators are not
mentioned, it goes without saying that they never use an index. It also
allows the reader to believe that since each is simply the negation of a
comparison whose index use is specifically documented, it goes without
saying that they also use an index.
Which of these interpretations is the truth that goes without saying, and
which is the error that should be obvious even to the uninitiated? Or
(removing my tongue gingerly from my cheek), what is going on here?
2) Also, the discussion of ANALYZE TABLE at
http://www.mysql.com/doc/A/N/ANALYZE_TABLE.html leaves the user of InnoDB
tables in limbo. If this doesn't work on InnoDB tables, what takes its
place, or why does its place not need to be taken?