You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When a dataset page is loaded it calls the getDataset() graphql function to populate the info on the page. Due to various levels of fragment abstraction, this function also pulls the total child counts for each parent glossary node of each glossary term linked to the dataset or its fields. For datasets with a large number of glossary terms linked, this can result in potentially hundreds of duplicate calls to the graph database (e.g. a dataset with 150 terms, each term having 2 parent nodes, will result in 300 additional queries to the graph db). This can severely hurt performance or result in the database connections timing out and the page failing to load entirely.
Proposed fix
Glossary node children totals do not appear to be needed on the dataset page, so removing that portion of the getDataset() query should improve performance in this scenario.
The text was updated successfully, but these errors were encountered:
The problem
When a dataset page is loaded it calls the getDataset() graphql function to populate the info on the page. Due to various levels of fragment abstraction, this function also pulls the total child counts for each parent glossary node of each glossary term linked to the dataset or its fields. For datasets with a large number of glossary terms linked, this can result in potentially hundreds of duplicate calls to the graph database (e.g. a dataset with 150 terms, each term having 2 parent nodes, will result in 300 additional queries to the graph db). This can severely hurt performance or result in the database connections timing out and the page failing to load entirely.
Proposed fix
Glossary node children totals do not appear to be needed on the dataset page, so removing that portion of the getDataset() query should improve performance in this scenario.
The text was updated successfully, but these errors were encountered: