【发布时间】:2010-02-02 20:48:40
【问题描述】:
我们的项目将世界数据库保存在 MySQL db 的 INNODB 表中的树结构中。 地球是根,然后是国家,然后是国家地区,位置是叶子。
外键用于提供对儿童的快速访问(例如区域中的城市)。
现在我们要在给定坐标的数据库中实现快速地理搜索。 一个明显的解决方案是使用空间索引,这是 MyISAM 表的一个特性。 但是 MyISAM 表不支持外键。而且 INNODB 表不支持 SPATIAL INDEX。
因此,如果我们使用 MyISAM 表,我们必须放弃外键,这会使孩子搜索时间过长。
我们如何在树中结合快速儿童搜索并在表中具有空间索引?
【问题讨论】:
-
请注意,外键的目的不是为了加快查询速度,而是为了加强表之间的关系。加快查找速度的是您将与外键一起创建的索引。