Showing results for 
Search instead for 
Did you mean: 

How to meassure index read / write trade off?


Hello Neo4j community,

I am using the Neo4j reccomendations dataset to do some experiments on performance and I would like to meassure how the creation of an index affects the performance of queries and updates.

Usually you find that using indexes is a trade off to improve read performance, but you pay in losing write performance.

Now I created an index and I can use PROFILE to see how many db hits this query took without index and with index and it's obvious that with index the db hits are much lower. So far, so good.

Now I would like to look at things from another angle and quantify how you "have to pay" by using an index. For this I tried to update a vertex that carries the respective label and tried updating a property that is indexed and a property that is not indexed. However, in both cases this update needs the same amount of db hits. I was hoping that when the property is indexed the update would need more db hits (updating the vertex and the update for the index). Is there any way I can meassure this in some sort of way, even if not db hits? Meassuring the execution time is not really helpful using the Sandbox and I usually find in forums the suggestion to not use this metric as it depends on many different factors.

Thank you very for any help on this.