Commit 6823ecc
committed
perf: fix N+1 fetchAllForeignKeys with bulk queries (HIGH-6)
- fetchForeignKeys(forTables:) default now calls fetchAllForeignKeys()
once and filters, leveraging existing bulk SQL in MySQL/PostgreSQL/MSSQL
- Add bulk fetchAllForeignKeys for SQLite using pragma_foreign_key_list
joined with sqlite_master (single query instead of per-table pragma)
- Add performance guidance docs to PluginDatabaseDriver default impls1 parent e24b15e commit 6823ecc
3 files changed
Lines changed: 44 additions & 17 deletions
File tree
- Plugins
- SQLiteDriverPlugin
- TableProPluginKit
- TablePro/Core/Database
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
551 | 551 | | |
552 | 552 | | |
553 | 553 | | |
554 | | - | |
555 | | - | |
556 | | - | |
557 | | - | |
558 | | - | |
| 554 | + | |
| 555 | + | |
| 556 | + | |
| 557 | + | |
| 558 | + | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
| 565 | + | |
| 566 | + | |
| 567 | + | |
| 568 | + | |
| 569 | + | |
| 570 | + | |
| 571 | + | |
| 572 | + | |
| 573 | + | |
| 574 | + | |
| 575 | + | |
| 576 | + | |
| 577 | + | |
| 578 | + | |
| 579 | + | |
| 580 | + | |
| 581 | + | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
559 | 589 | | |
560 | | - | |
| 590 | + | |
| 591 | + | |
561 | 592 | | |
562 | 593 | | |
563 | 594 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
165 | 165 | | |
166 | 166 | | |
167 | 167 | | |
| 168 | + | |
| 169 | + | |
168 | 170 | | |
169 | 171 | | |
170 | 172 | | |
| |||
174 | 176 | | |
175 | 177 | | |
176 | 178 | | |
| 179 | + | |
| 180 | + | |
177 | 181 | | |
178 | 182 | | |
179 | 183 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
231 | 231 | | |
232 | 232 | | |
233 | 233 | | |
234 | | - | |
235 | | - | |
236 | | - | |
237 | | - | |
238 | | - | |
239 | | - | |
240 | | - | |
241 | | - | |
242 | | - | |
243 | | - | |
244 | | - | |
| 234 | + | |
| 235 | + | |
| 236 | + | |
245 | 237 | | |
246 | 238 | | |
247 | 239 | | |
| |||
0 commit comments