2016-04-01 67 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