maestre3d / dynamoql-go

An ORM-like lightweight toolkit for Go applications interacting with Amazon DynamoDB.
https://pkg.go.dev/github.com/maestre3d/dynamoql-go
Apache License 2.0
1 stars 1 forks source link

Use a Trie (or a high-performance) data structure for ExpressionBuilder and Conditions #1

Open maestre3d opened 2 years ago

maestre3d commented 2 years ago

At this very moment, the underlying data structure of the ExpressionBuilderand Conditions are just a primitive struct or slice.

In order to increment perfomance, use a Trie or another data structure that fits the requirements for these cases.

maestre3d commented 2 years ago

Note: If Select API allows child Conditions, a tree MUST be used as underlying data structure. If not, a slice is fine as Select API internals do not search for a specific item. Therefore, item traversing is always O(n).