Bug #60006 information_schema.statistics claims that all indices are BTREE
Submitted: 8 Feb 2011 11:52 Modified: 8 Mar 2011 12:10
Reporter: Benson Margulies Email Updates:
Status: No Feedback Impact on me:
None 
Category:MySQL Server: Information schema Severity:S3 (Non-critical)
Version: OS:Any
Assigned to: CPU Architecture:Any
Tags: 5.1.49

[8 Feb 2011 11:52] Benson Margulies
Description:
Show create table one one of my tables shows:

| freebase | CREATE TABLE `freebase` (
  `q1` varchar(2048) NOT NULL,
  `q2` varchar(2048) NOT NULL,
  `q3` varchar(2048) DEFAULT NULL,
  `q4` varchar(2048) DEFAULT NULL,
  KEY `q1index` (`q1`(255)) USING HASH,
  KEY `q2index` (`q2`(255)) USING HASH
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |

yet fetching from information_schema.statistics shows NULL, 'freebase', 'freebase', '1', 'freebase', 'q1index', '1', 'q1', 'A', '78617935', '255', NULL, '', 'BTREE', ''

How to repeat:
AFAIK, by creating any table with a hash index and then looking at the info schema.
[8 Feb 2011 12:10] Valeriy Kravchuk
That's because InnoDB does NOT really support HASH indexes. Look:

C:\Program Files\MySQL\MySQL Server 5.1\bin>mysql -uroot -proot -P3312 test
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 5.5.8 MySQL Community Server (GPL)

Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL v2 license

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> CREATE TABLE `freebase` (
    ->   `q1` varchar(2048) NOT NULL,
    ->   `q2` varchar(2048) NOT NULL,
    ->   `q3` varchar(2048) DEFAULT NULL,
    ->   `q4` varchar(2048) DEFAULT NULL,
    ->   KEY `q1index` (`q1`(255)) USING HASH,
    ->   KEY `q2index` (`q2`(255)) USING HASH
    -> ) ENGINE=MEMORY;
Query OK, 0 rows affected (0.22 sec)

mysql> select * from information_schema.statistics where table_name='freebase'\G

*************************** 1. row ***************************
TABLE_CATALOG: def
 TABLE_SCHEMA: test
   TABLE_NAME: freebase
   NON_UNIQUE: 1
 INDEX_SCHEMA: test
   INDEX_NAME: q1index
 SEQ_IN_INDEX: 1
  COLUMN_NAME: q1
    COLLATION: NULL
  CARDINALITY: 0
     SUB_PART: 255
       PACKED: NULL
     NULLABLE:
   INDEX_TYPE: HASH
      COMMENT:
INDEX_COMMENT:
*************************** 2. row ***************************
TABLE_CATALOG: def
 TABLE_SCHEMA: test
   TABLE_NAME: freebase
   NON_UNIQUE: 1
 INDEX_SCHEMA: test
   INDEX_NAME: q2index
 SEQ_IN_INDEX: 1
  COLUMN_NAME: q2
    COLLATION: NULL
  CARDINALITY: 0
     SUB_PART: 255
       PACKED: NULL
     NULLABLE:
   INDEX_TYPE: HASH
      COMMENT:
INDEX_COMMENT:
2 rows in set (0.17 sec)
[9 Mar 2011 0:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".