Myisam
為什麼 innodb 不儲存地理空間數據?
我很好奇。
我有商務桌。現在我想我將不得不創建一個單獨的表,位置表。那個單獨的表應該是 myisam。
但我為什麼要這樣做?
為什麼 innodb 不能儲存積分?
對於 MyISAM 表,SPATIAL INDEX創建一個 R-tree 索引。對於支持空間列的非空間索引的儲存引擎,引擎會創建 B 樹索引。空間值的 B-tree 索引對於精確值查找很有用,但對於範圍掃描無效。
為 InnoDb 添加一個完全不同的儲存結構是一項巨大的工作(由於鎖定和恢復,比為 MyISAM 多得多)。
事實上,它可以。但它還不支持它們的空間索引。請參閱官方 Mysql 文件對 InnoDB 表的限制:
InnoDB 表在 MySQL 5.0.16 之前不支持空間數據類型。從 5.0.16 開始,InnoDB 支持空間數據類型,但不支持它們的索引。