Problem
When executing SQL queries returning large result sets (e.g. 5,000–10,000+ rows across many columns), row string formatting and matrix processing can cause UI micro-jank on the main isolate. Currently, yields execution to the event loop periodically, but heavy object allocation still happens on the main UI isolate.
Proposed Solution
Investigate and benchmark offloading row parsing, data conversion, or lazy formatting to background isolates () or lazy cell formatting in .
Tasks & Evaluation
- Benchmark memory overhead & IPC copy cost of vs yielding ().
- Prototype lazy string conversion inside cell builder.
- Test across Postgres, MySQL, SQLite, and Extension SQL workspaces.
Target Files
lib/core/database/result_row_string_convert.dart
lib/features/postgresql/postgres_sql_workspace.dart
lib/features/mysql/mysql_sql_workspace.dart
lib/features/sqlite/sqlite_sql_workspace.dart
lib/features/extensions/extension_sql_workspace.dart
Problem
When executing SQL queries returning large result sets (e.g. 5,000–10,000+ rows across many columns), row string formatting and matrix processing can cause UI micro-jank on the main isolate. Currently, yields execution to the event loop periodically, but heavy object allocation still happens on the main UI isolate.
Proposed Solution
Investigate and benchmark offloading row parsing, data conversion, or lazy formatting to background isolates () or lazy cell formatting in .
Tasks & Evaluation
Target Files
lib/core/database/result_row_string_convert.dartlib/features/postgresql/postgres_sql_workspace.dartlib/features/mysql/mysql_sql_workspace.dartlib/features/sqlite/sqlite_sql_workspace.dartlib/features/extensions/extension_sql_workspace.dart