Azure / Azure/data-api-builder

Sql: Improve bootstrap performance by getting all the metadata information in one go from the db

Aperta
#381 0 commenti 1 reazione 0 assegnatari Vedi su GitHub
enhancement mssql pgsql mysql perf pgsql
Lingua principale
C#
Stelle
1.5k
Fork
370
Merge medio
3g 17h
PR unite (30g)
8

Descrizione

In `SqlMetadataProvider`, we use different methods to collect metadata information from the underlying database object source:
1) a DbDataAdapter to get table columns, their type, and primary key
2) GetSchema on Columns to find out if each column has Default value or not.
3) Use a ForeignKey Query to derive the referenced table, and the referenced columns.

This involves multiple round trips to the database.
This issue is to investigate if we can optimize this bootstrap to acquire all this information in a single roundtrip.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Iniziate individuando SqlMetadataProvider e tracciando i percorsi di DbDataAdapter, GetSchema su Columns e ForeignKey Query. Determinate se il database può fornire insieme colonne, tipi, chiavi primarie, valori predefiniti e riferimenti a chiavi esterne, quindi verificate che il bootstrap preservi tutti i metadati riducendo a uno i round trip al database.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
csharp, sql
Ambito
backend-api-design, databases, performance
Tipo di issue
Refactoring
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.