我将创建一个包含大量相似项(数百万个)的应用程序,并希望将它们存储在MySQL数据库中,因为我想对特定列的特定值进行统计和搜索。
但同时,我将存储所有项目之间的关系,这些关系以许多连接的二叉树结构(传递闭包)相关联,关系数据库不擅长处理这种结构,因此我想将所有关系存储在Neo4j中,因为它对这种数据有很好的性能。
我的计划是除了关系之外的所有数据都存储在MySQL数据库中,而所有关系及其item_id
存储在Neo4j数据库中。当我想要查找树时,我首先在Neo4j中搜索树中的所有item_id
,然后在MySQL数据库中搜索所有指定项目的查询,类似于:
SELECT * FROM items WHERE item_id = 45 OR item_id = 345435 OR item_id = 343 OR item_id = 78 OR item_id = 4522 OR item_id = 676 OR item_id = 443 OR item_id = 4255 OR item_id = 4345
这是个好主意还是错了? 我以前没有使用过图形数据库。有更好的方法来解决我的问题吗?在这种情况下,MySQL查询的性能如何?