Working with count stores
Neo4j maintains certain data statistics as count stores. For example, there are node count stores that maintain the counts of nodes for each label type. Since our dataset is small, we will use PROFILE
to understand how much work the database would be doing in terms of db hits, with and without count stores, for a given type of work. We will also take a look at how to leverage count stores to build more performant queries.
Let’s look at a sample node count store query:
PROFILE MATCH (n:Patient) RETURN count(n)
This is a very basic query, and it leverages count stores instead of counting the nodes that have the Patient
label.
We can see from the screenshot, the database uses NodeCountFromCountStore@neo4j, which looks for the totals from the count store. We can see that it takes one db hit. The performance is constant, no matter how large the database grows.
Figure 8.19 – A query using the node count store
We...