mySQL转储不一致

时间:2016-04-01 09:26:42

标签: mysql indexing export dump

我只在两个数据库上导出结构,并使用它们来比较我的开发服务器和生产服务器的模式。

我的一个字段有一个索引。

当我导出两个sql文件时,在一个文件中索引的定义如下:

 KEY `assoc_id` (`assoc_id`),

在另一个像这样:

  KEY `assoc_id` (`assoc_id`) USING BTREE,

生产服务器是开发服务器的克隆,相同版本的mysql。

导出是使用Navicat(OS X)完成的,但我不知道这是否相关,因为dump是mysql原生的...

这不是问题,因为在所有情况下两者都是btree,但我只是想知道为什么有时添加USING BTREE,有时不添加。{/ p>

编辑: 刚看到同样的事情:ROW_FORMAT=DYNAMIC

1 个答案:

答案 0 :(得分:0)

MySQL中几乎所有索引都是BTree。 InnoDB和MyISAM Engines的默认值为BTree。 FULLTEXT和SPATIAL索引也存在,但会明确说明。 MEMORY Engine和NDB Cluster还有其他例外,例如HASH。

因此,USING BTREE是多余且可选的。无需担心。

可能差异源于两种不同的出口产品或版本。