Skip to content

Query plan optimization in WHERE IN clause #829

@Jyoungho

Description

@Jyoungho

Backgrounds

I discovered that when generating a WHERE IN query, the query plan is excessively cached depending on the number of elements in the IN clause array.

I want to improve this to optimize query plan caching efficiency.

Requirements

To ensure an appropriate query plan execution when converting to a Hibernate AST, the IN clause parameters are passed as a single array.

Example

select(path(Issue::id))
                .from(entity(Issue::class))
                .where(
                    path(Issue::id).`in`(ids)
                )

as-is

SELECT Issue.id FROM Issue AS Issue WHERE Issue.id IN (:param1, :param2, :param3)

to-be

SELECT Issue.id FROM Issue AS Issue WHERE Issue.id IN (:params)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions