Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Optimize more entity filter expressions #6498

Open
2 of 4 tasks
seadowg opened this issue Nov 5, 2024 · 2 comments · May be fixed by #6539
Open
2 of 4 tasks

Optimize more entity filter expressions #6498

seadowg opened this issue Nov 5, 2024 · 2 comments · May be fixed by #6539
Assignees

Comments

@seadowg
Copy link
Member

seadowg commented Nov 5, 2024

We want more filter expressions on entity lists to be faster and not require the full list in memory. We've currently made these optimizations for = ("eq") expressions that compare values to the entity ID (name) or an entity property. We want to expand this so that the following predicates on entity items have the same performance characteristics:

  • label = <value>
  • <id/property/label> = <value 1> and <id/property/label> = <value 2>
  • <id/property/label> = <value 1> or <id/property/label> = <value 2>
  • id != <value>
@seadowg seadowg converted this from a draft issue Nov 5, 2024
@seadowg seadowg moved this from ready to not ready in ODK Collect Nov 5, 2024
@seadowg
Copy link
Member Author

seadowg commented Nov 5, 2024

@lognaturel are there other expressions you think we should target here? Also, are any of the ones I've included seem like they're not as important?

@lognaturel
Copy link
Member

That seems like a good list and it feels priority ordered from top to bottom. Maybe < and > are the same priority as !=

Relatedly, we've also talked about analyzing the form to identify columns that should be indexed. That could be a separate issue or part of this work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: in progress
Development

Successfully merging a pull request may close this issue.

3 participants