【发布时间】:2017-09-12 01:40:37
【问题描述】:
产品索引:
- 开启:产品(SaleID)
- 开启:产品(国家 ID)
- 开启:产品(ProductID)
- 开启:产品 (ID)
- 更多属性...
订单索引:
- 开启:订单(SaleID)
- 开启:订单(国家 ID)
- 开启:订单(ProductID)
- 开启:订单 (ID)
- 更多属性...
产品有 50K 个节点
Orders 有 50 万个节点
当我在现有节点上的上述场景中创建关系时。 在社区版本 3.1 中需要 15 分钟。
查询:
MATCH(prod:Products)
WHERE prod.ID = 999
WITH prod
MATCH (ord:Orders)
WHERE ord.ID = prod.ID and ord.SaleID=prod.SaleID and ord.CountryID = prod.CountryID and ord.ProductID = prod.ProductID
CREATE (prod)-[prod_ord]->(ord)
当前配置:
内存 - 64g 堆最大值 = 最小值 = 32 页面交换 = 默认/自动
DB 命中 -> 5 亿次命中
第一季度。它不考虑索引,我如何强制它考虑通过以下索引进行索引?
在 prod:Product(SaleID) 上使用索引
在 prod:Product(ProductID) 上使用索引
在 prod:Product(CountryID) 上使用索引
在 prod:Product(ID) 上使用索引
第二季度。为什么要花这么多时间?需要做任何配置吗? 还是数据模型错了?
【问题讨论】:
标签: neo4j