mysql-如何确定索引是否为“正在使用哈希”?

我在MySQL 5.6.39中有此表定义:

CREATE TABLE `_fulltexttest` (
  `hello` text NOT NULL,
  `bar` varbinary(255) NOT NULL,
  `baz` varbinary(255) NOT NULL,
  UNIQUE KEY `whatev2` (`baz`) USING HASH,
  KEY `whatev` (`bar`) USING HASH,
  KEY `baz` (`baz`) USING HASH,
  KEY `baz_2` (`baz`) COMMENT 'bacon',
  FULLTEXT KEY `hello` (`hello`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1

如您所见,一些索引具有USING HASH.

但是,当我尝试:

 show indexes from _fulltexttest in mydb;

要么:

SELECT *
FROM INFORMATION_SCHEMA.STATISTICS
WHERE TABLE_SCHEMA = 'mydb' and TABLE_NAME='_fulltexttest'

两者都不显示“哈希”. INDEX_TYPE为BTREE.

但是,如果我做一个SHOW TABLE,它会显示在定义中,因此很显然它必须保存在某个地方.

我可以运行什么查询来获取完整的索引定义,包括USING HASH部分?

最佳答案
您已经完成了确定索引是否使用哈希的正确操作.

答案是:不是.

MySQL 5.6的文档显示为they haven’t implemented it for InnoDB at all yet.

转载注明原文:mysql-如何确定索引是否为“正在使用哈希”? - 代码日志