2016-04-01 39 views
0

我有一个结构只能导出两个数据库,并使用它们来比较我的开发和生产服务器的模式。mySQL转储不一致

我的一个领域有一个索引。

当我出口的一个文件中的两个SQL文件,索引的定义如下:

KEY `assoc_id` (`assoc_id`), 

而在另外一个是这样的:

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

生产服务器是克隆dev服务器的相同版本的mysql。

出口用的Navicat(OS X),但我不知道这是否是相关的,因为转储是原产于MySQL的做...

这不是一个问题,因为无论是在所有情况下都是B树,但我只是想知道为什么有时候会添加USING BTREE,有时候不会。

编辑: 刚才看到与此相同的事情:ROW_FORMAT=DYNAMIC

回答

0

几乎所有在MySQL索引是B树。 InnoDB和MyISAM引擎的默认值是BTree。 FULLTEXT和SPATIAL索引也存在,但会明确说明。 MEMORY引擎和NDB群集还有其他例外,例如HASH。

因此,USING BTREE是多余的和可选的。完全不用担心。

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

+0

我会看看所有的版本,但这两个服务器被克隆的虚拟机我看不出他们的版本可能是不同的。 – FLX

+0

MySQL版本5.5.44无处不在...我不明白。 – FLX