Myisam

為什麼 innodb 不儲存地理空間數據?

  • June 14, 2012

我很好奇。

我有商務桌。現在我想我將不得不創建一個單獨的表,位置表。那個單獨的表應該是 myisam。

但我為什麼要這樣做?

為什麼 innodb 不能儲存積分?

因為R-Trees不是B-Trees

對於 MyISAM 表,SPATIAL INDEX創建一個 R-tree 索引。對於支持空間列的非空間索引的儲存引擎,引擎會創建 B 樹索引。空間值的 B-tree 索引對於精確值查找很有用,但對於範圍掃描無效。

為 InnoDb 添加一個完全不同的儲存結構是一項巨大的工作(由於鎖定和恢復,比為 MyISAM 多得多)。

事實上,它可以。但它還不支持它們的空間索引。請參閱官方 Mysql 文件對 InnoDB 表的限制

InnoDB 表在 MySQL 5.0.16 之前不支持空間數據類型。從 5.0.16 開始,InnoDB 支持空間數據類型,但不支持它們的索引。

引用自:https://dba.stackexchange.com/questions/19240