mySQL 转储不一致
mySQL dump inconsistency
我有一个结构只导出到两个数据库,并使用它们来比较我的开发和生产服务器的模式。
我的一个字段有索引。
当我导出两个 sql 文件时,在一个文件中索引定义如下:
KEY `assoc_id` (`assoc_id`),
另一个像这样:
KEY `assoc_id` (`assoc_id`) USING BTREE,
生产服务器是开发服务器的克隆,与 mysql.
的版本相同
导出是使用 Navicat (OS X) 完成的,但我不知道这是否相关,因为转储原生于 mysql...
这不是问题,因为在所有情况下都是 btree,但我只是想知道为什么有时添加 USING BTREE
有时不添加。
编辑:
刚看到同样的事情:ROW_FORMAT=DYNAMIC
几乎 MySQL 中的所有索引都是 BTree。 InnoDB 和 MyISAM 引擎的默认值是 BTree。 FULLTEXT 和 SPATIAL 索引也存在,但会被明确说明。 MEMORY Engine 和 NDB Cluster 还有其他异常,比如 HASH。
因此,USING BTREE
是多余的和可选的。不用担心。
差异可能源于两种不同的出口产品或版本。
我有一个结构只导出到两个数据库,并使用它们来比较我的开发和生产服务器的模式。
我的一个字段有索引。
当我导出两个 sql 文件时,在一个文件中索引定义如下:
KEY `assoc_id` (`assoc_id`),
另一个像这样:
KEY `assoc_id` (`assoc_id`) USING BTREE,
生产服务器是开发服务器的克隆,与 mysql.
的版本相同导出是使用 Navicat (OS X) 完成的,但我不知道这是否相关,因为转储原生于 mysql...
这不是问题,因为在所有情况下都是 btree,但我只是想知道为什么有时添加 USING BTREE
有时不添加。
编辑:
刚看到同样的事情:ROW_FORMAT=DYNAMIC
几乎 MySQL 中的所有索引都是 BTree。 InnoDB 和 MyISAM 引擎的默认值是 BTree。 FULLTEXT 和 SPATIAL 索引也存在,但会被明确说明。 MEMORY Engine 和 NDB Cluster 还有其他异常,比如 HASH。
因此,USING BTREE
是多余的和可选的。不用担心。
差异可能源于两种不同的出口产品或版本。