Skip to content

Simple query on large object takes very long #853

@garma83

Description

@garma83

Environment

vue3/pinia/pinia-orm/typescript

Reproduction

create a large model (40-50 fields)
add 400 of them to the store

// the below takes about 9 seconds for me
useRepo(Model).query().get()

Describe the bug

Querying large objects on a table with say 300-400 objects takes about 9 seconds on my computer

I didn't have this problem with Vuex ORM so that's why im registering this as a bug

Additional context

I can use the cache but 9 seconds is just too long even as an initial query

Reducing the number of fields reduces the problem. (with only 2 fields, the query still takes a second or so)

From the javascript performance panel in Firefox I can see that it is the $fill function that takes up the time.

I found this reddit threat that might be related
https://www.reddit.com/r/vuejs/comments/zh5xtf/tips_for_performance_issues_while_using_pinia_orm/

Im guessing that PiniaORM creates objects after the query, which are then returned, whereas Vuex ORM returns the actual objects in the store?

  • maybe there can be some kind of lazy querying system
  • maybe it would be an option to select a number of fields as part of the query?

Logs

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestquestionFurther information is requested

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions