Azure / Azure/data-api-builder

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

Offen
#381 0 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen
enhancement mssql pgsql mysql perf pgsql
Vorherrschende Sprache
C#
Sterne
1.5k
Forks
370
Ø Merge
3 T. 17 Std.
Gemergte PRs (30 T.)
8

Beschreibung

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.

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginnen Sie damit, SqlMetadataProvider zu lokalisieren und die Pfade von DbDataAdapter, GetSchema für Columns und ForeignKey Query nachzuverfolgen. Ermitteln Sie, ob die Datenbank Spalten, Typen, Primärschlüssel, Standardwerte und Fremdschlüsselreferenzen gemeinsam bereitstellen kann, und überprüfen Sie anschließend, dass der Bootstrap alle Metadaten erhält, während die Anzahl der Datenbank-Roundtrips auf einen reduziert wird.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
csharp, sql
Bereich
backend-api-design, databases, performance
Issue-Typ
Refactoring
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
35/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.