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

Improve the index scan to match multiple values at once [CORE4600] #4915

Closed
firebird-automations opened this issue Nov 9, 2014 · 2 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: @dyemanov

Votes: 1

The existing equality index scan deals with a single value and returns a bitmap matching that value. It could be extended to match several values with one index scan and return the combined bitmap for all those values. This allows to replace multiple index scans with a single scan in some cases. I can see such an improvement to be used e.g. by the block nested loops or the IN (<list>) predicate.

I suppose this should require the list of values to be sorted, but this is up to the implementation whether the storting will be performed by the caller or by the index scan code itself.

@firebird-automations
Copy link
Collaborator Author

Modified by: @dyemanov

assignee: Vlad Khorsun [ hvlad ]

description: The existing equality index scan deals with a single value and returns a bitmap matching that value. It could be extended to match several values with one index scan and return the combined bitmap for all those values. This allows to replace multiple index scans with a single scan in some cases. I can see such an improvement to be used e.g. by the block nested loops or the IN (<list>) predicate. => The existing equality index scan deals with a single value and returns a bitmap matching that value. It could be extended to match several values with one index scan and return the combined bitmap for all those values. This allows to replace multiple index scans with a single scan in some cases. I can see such an improvement to be used e.g. by the block nested loops or the IN (<list>) predicate.

I suppose this should require the list of values to be sorted, but this is up to the implementation whether the storting will be performed by the caller or by the index scan code itself.

security: Developers [ 10012 ] =>

@dyemanov
Copy link
Member

Implemented in Firebird 5.0, currently used by IN predicate only.

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

No branches or pull requests

3 participants