MySQLWorkbenchで、デザインをフォワードエンジニアリングする前にインデックスを保存する方法を選択できることに気付きました。ストレージタイプは次のとおりです。
- BTREE
- RTREE
- ハッシュ
これを調査して、頭上にある情報を見つけたので、これらの違いや、なぜ選択する必要があるのか、あるいはその両方に関する実用的な情報を探しています。
また、ストレージタイプを選択したことがないため、MySQLがデフォルトのストレージタイプ(BTREE?)を選択していると思います。
MySQLWorkbenchで、デザインをフォワードエンジニアリングする前にインデックスを保存する方法を選択できることに気付きました。ストレージタイプは次のとおりです。
これを調査して、頭上にある情報を見つけたので、これらの違いや、なぜ選択する必要があるのか、あるいはその両方に関する実用的な情報を探しています。
また、ストレージタイプを選択したことがないため、MySQLがデフォルトのストレージタイプ(BTREE?)を選択していると思います。
回答:
BTree(実際にはB * Tree)は、効率的な順序付けされたキー値マップです。意味:
例:「午前9時から午後5時までのすべてのイベント」、「「R」で始まる姓」
RTreeは、2つ以上のディメンションの値をspatial index
すばやく識別できることを意味しclose
ます。次のようなクエリの地理データベースで使用されます。
(x、y)からXメートル以内のすべてのポイント
ハッシュは順序付けられていないキーと値のマップです。BTree:よりもさらに効率的O(1)
ですO(log n)
。
ただし、順序の概念はないため、ソート操作や範囲のフェッチには使用できません。
サイドノートとして、元々、MySQLはMEMORY
テーブルのハッシュインデックスのみを許可していました。しかし、それが長年にわたって変更されたかどうかはわかりません。