全部-
我认为我的解决方案之一终于超越了 MySQL。现在我有 7000 万行,它们只是将对象的 x、y、z 存储在 3D 空间中。不幸的是,我不知道如何优化我的数据库来处理插入/查询了。我需要根据距离进行查询(获取距离内的对象)。
有人对好的替代品有建议吗?我不知道我是否应该查看 hbase 或非关系数据库之类的东西,因为我可能会遇到类似的问题。我通常每分钟插入大约 100 行,我的查询如下所示:
// get objects within 500 yards
SELECT DISTINCT `object_positions`.`entry` FROM `object_positions` WHERE `object_positions`.`type` = 3 AND `object_positions`.`continent` = '$p->continent' AND SQRT(POW((`object_positions`.`x` - $p->x), 2) + POW((`object_positions`.`y` - $p->y), 2) + POW((`object_positions`.`z` - $p->z), 2)) < 500;
没什么复杂的,但我认为所涉及的数学是导致 MySQL 爆炸的原因,我想知道我是否应该研究基于云的数据库解决方案?它很容易每秒处理 10-100 个查询。