Improved progress display
Previously, the progress bar updated only after completing an entire table. For large tables such as LIBARC, this could make the application appear to have stopped responding. Phase 10 updates the interface while rows are being exported.
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
# Phase 23 — Query Plan History and Comparison
|
||||
|
||||
Adds locally saved EXPLAIN snapshots (Table or JSON), history scoped to the same connection name, database, and SQL statement, baseline comparison, and deletion. Table-plan comparison includes a sum of optimizer-estimated rows across steps, not measured execution times. Snapshots are stored in UserDefaults (max 40, max encoded size 2 MB).
|
||||
|
||||
The existing EXPLAIN inspector and query plan observations remain unchanged. No SQL statements are executed beyond EXPLAIN.
|
||||
|
||||
**Validation:** Source changes and archive structure inspected; no macOS/Xcode build or live MySQL tests performed.
|
||||
@@ -0,0 +1,12 @@
|
||||
# Phase 24 — Query Performance Diagnostics
|
||||
|
||||
Builds on Phase 23.
|
||||
|
||||
- Adds a read-only index diagnostic section to the EXPLAIN inspector. Flags full scans with/without candidate indexes, and optimizer steps without a selected index.
|
||||
- Adds per-step tabular EXPLAIN baseline comparisons for access type, selected index, possible indexes, estimated rows, filtered percentage, and Extra information.
|
||||
- Adds **Copy Diagnostics** to copy SQL, plan observations, index analysis, and baseline differences.
|
||||
- Preserves the Phase 23 query plan history and existing database management features.
|
||||
|
||||
## Important
|
||||
|
||||
The application has not been compiled in Xcode or tested against MySQL in this environment. The analysis uses optimizer estimates, not measured timings. It intentionally does not generate or apply CREATE INDEX statements. Compare plans only for equivalent schema/data conditions.
|
||||
@@ -0,0 +1,14 @@
|
||||
# Phase 25–26 — Performance sampling and diagnostics
|
||||
|
||||
- Samples the Slow Query Analysis, Connection Statistics, InnoDB Metrics, Dashboard, and Server Status screens on successful refresh.
|
||||
- `View Trends…` compares current and previous counter values, reporting changes per second when values are monotonic.
|
||||
- Tracks up to 60 snapshots per open administration screen in memory; `Clear Samples` removes them.
|
||||
- Slow-query snapshots compare execution counts by Performance Schema SQL digest text.
|
||||
- No new server privileges, schema modifications, third-party dependencies or external MySQL binaries.
|
||||
|
||||
## Limitations
|
||||
- Samples are not persisted, and are discarded when the screen is closed.
|
||||
- Slow query analysis is limited to the top 100 digests returned by the existing SQL; digests dropping out of the top 100 will not be comparable.
|
||||
- For cumulative counters, server restarts or Performance Schema resets can invalidate deltas; negative deltas are suppressed.
|
||||
- A counter rate is not the same as query latency, and the SQL digest data may be truncated.
|
||||
- Not compiled with Xcode or tested on a live MySQL server in this environment.
|
||||
@@ -0,0 +1,9 @@
|
||||
# Phase 27 — Charts, colours, schema editor
|
||||
|
||||
- Imports Swift Charts; adds coloured line/area charts to Administration > View Trends, based on existing in-memory samples.
|
||||
- Metric picker and coloured rates in performance counters.
|
||||
- Schema tree: right-click schema > Create Table; right-click table > Edit Table Schema.
|
||||
- Schema inspector displays SHOW FULL COLUMNS, SHOW INDEX, SHOW CREATE TABLE.
|
||||
- SQL DDL editing with confirmation; requires suitable MySQL permissions. No automatic table reconstruction.
|
||||
|
||||
IMPORTANT: Not compiled in Xcode here. Test against a disposable MySQL database. DDL may implicitly commit.
|
||||
@@ -0,0 +1,9 @@
|
||||
# Phase 28 — Front-screen charts
|
||||
|
||||
- The application opens on the Dashboard instead of the SQL editor.
|
||||
- A Dashboard toolbar button returns to the performance dashboard from anywhere.
|
||||
- Six colour-coded Swift Charts panels are embedded above server counters: queries/sec, connected threads, running threads, slow queries/sec, bytes received/sec, and bytes sent/sec.
|
||||
- Charts use actual MySQL SHOW GLOBAL STATUS readings and refresh every 5 seconds while the administration screen is open.
|
||||
- The first rate value requires two successful samples; no synthetic data is used.
|
||||
- Retains the Phase 27 SQL-based schema editor and the existing Trends window for other administration pages.
|
||||
- Build and live MySQL verification must be performed on macOS with Xcode.
|
||||
Reference in New Issue
Block a user