2016-04-01 18 views
0

私は2つのデータベースで構造体をエクスポートし、それを使用して私の開発者と本番サーバーのスキーマを比較します。mySQLのダンプの矛盾

私のフィールドの1つにインデックスがあります。

私は2つのSQLファイルをエクスポート、一つのファイルにインデックスがこのように定義されています

KEY `assoc_id` (`assoc_id`), 

そして、このような他のいずれかで:

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

本番サーバがクローンでありますdevのサーバー、mysqlの同じバージョンの。

輸出は両方がすべてのケースでBTREEですが、ので、それは問題ではない...

をNavicatは(OSのX)を使用して行われるが、ダンプはMySQLへのネイティブであるので、これは関連性がある場合、私は知りません私はちょうどなぜ時々USING BTREEが追加され、ときどき知りたいのか不思議です。

編集

:MySQLで ROW_FORMAT=DYNAMIC

答えて

0

事実上すべてのインデックスはB木です: はちょうどこのと同じものを見ました。 InnoDBとMyISAMエンジンのデフォルトはBTreeです。 FULLTEXTインデックスとSPATIALインデックスも存在しますが、明示的に述べられています。 MEMORY EngineおよびNDB Clusterには、HASHなどの他の例外があります。

したがって、USING BTREEは冗長でオプションです。何も心配する必要はありません。

おそらく違いは、2種類の異なるエクスポート製品またはバージョンに由来します。

+0

私はすべてのバージョンを見ていますが、両方のサーバーがクローンされた仮想マシンであるため、バージョンがどのように異なっているかわかりません。 – FLX

+0

どこでもMySQLのバージョン5.5.44 ...私は理解していません。 – FLX