Skip to content

Measure the sidebar and completion on 100 schemas and 50,000 tables #3660

Open

Description

@datlechin

Problem

Nothing in the Linux app tests or times the sidebar or completion on a large catalog. The sidebar lists tables, views, materialized views and foreign tables by schema, with search (linux/ROADMAP.md, Sidebar). Completion offers tables, views, columns, schemas and functions from the session's catalog (linux/ROADMAP.md, Completion; linux/crates/app/src/ui/editor/completion/catalog_read.rs). The release criteria cover a 1,000,000-row table (linux/ROADMAP.md, criterion 4), but no criterion covers a database with many schemas or tables. Users with one schema per tenant exist (#3431).

Proposed solution

  • A Docker fixture: PostgreSQL with 100 schemas of 500 tables each, and MySQL with one database of 50,000 tables.
  • Measure the sidebar's first listing, one keystroke in its search, completion after FROM and after schema., and resident memory once the catalog is loaded.
  • Set a budget for each from the first run, with no main loop stall over 100 ms.
  • Add the large catalog as a release criterion, then fix whatever misses its budget.

Done when the measurements run in the Docker suite with their bounds, the way the 1,000,000-row case does.

Alternatives considered

No response

Platform

Linux

Related database type

N/A / General

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions