My Cypher Query Takes Too Long. What Can I Do ?
summary
Explains how the Cypher planner turns patterns into a logical plan and which operators actually slow queries — leaf/index seek, expand, filter, collect and problematic eager operators — and shows how to use EXPLAIN and PROFILE and DB statistics to measure estimated versus actual rows and database hits. Covers practical fixes: add labels/indexes, push filters/collects earlier, watch dense nodes (example: a course node with ~40K enrollments) and caching effects.
AI-written summary · about
chapters (21)
- 0:00Introduction
- 2:38Key principles of Cypher
- 3:40Query planner and execution
- 7:11How rows are created
- 10:25Database hits explained
- 11:27EXPLAIN vs PROFILE
- 13:31Reading query plans
- 14:58Query planner operators
- 16:46Eager operators to avoid
- 17:30Investing time in optimization
- 18:37Query planning checklist
- 20:25Label importance in queries
- 21:50Collect and filter early
- 22:52Reducing rows and hits
- 23:56Dense nodes problem
- 25:01Property access costs
- 25:43Query tuning pointers
- 26:04Other processing levels
- 27:13Memory configuration
- 27:36Modeling considerations
- 27:56Q&A
related talks
38mAccelerating Query Performance in CrateDB
52mUnderstanding PostgreSQL Query Plans (aka EXPLAIN)
43mDesigning Cypher - a Graph Query Language
23mImproving Text2Cypher: Lessons from Schema Filtering and Hard Example Selection
49mIt’s Not Always About the Index: The Hidden Secrets of Query Performance
29mExplaining the Postgres Query Optimizer
26mBe Good Friends with Query Planner
23mBest Practices for Tuning Slow Postgres Queries
