„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Vom Entwickler zum Prüfer: Eine Checkliste für Junior-Entwickler zur Prüfung von Datenbankabfragen

Vom Entwickler zum Prüfer: Eine Checkliste für Junior-Entwickler zur Prüfung von Datenbankabfragen

Veröffentlicht am 08.11.2024
Durchsuche:366

Als Entwickler ist es entscheidend, qualitativ hochwertigen Code zu liefern, der nicht nur funktionsfähig, sondern auch hinsichtlich der Leistung optimiert ist. Im Laufe meiner dreijährigen Tätigkeit im Entwicklerbereich habe ich mich von einem praktischen Entwickler zu einer Prüferrolle entwickelt. Einer der Schlüsselbereiche, auf die ich mich bei den Überprüfungen konzentriert habe, ist die Optimierung von Datenbankabfragen.

Warum sich auf Datenbankabfragen konzentrieren?
Datenbankabfragen können die Leistung einer Anwendung erheblich beeinträchtigen. Eine gut geschriebene Abfrage kann Daten effizient abrufen, während eine schlecht geschriebene Abfrage zu übermäßigen Datenbanktreffern führen und das gesamte System verlangsamen kann. Als Junior-Entwickler fragen Sie sich vielleicht, wie Sie die Leistung dieser Abfragen bei Codeüberprüfungen bewerten können. Hier ist meine Checkliste.

Checkliste zur Überprüfung von Datenbankabfragen

  1. Anzahl der Datenbanktreffer:

    • Der erste Schritt besteht darin, zu bestimmen, wie viele Datenbankzugriffe ein Codeabschnitt verursacht. Jeder Treffer in der Datenbank kann die Latenz erhöhen, sodass weniger Treffer im Allgemeinen eine bessere Leistung bedeuten.
    • Profi-Tipp: Verwenden Sie Connection.queries und reset_queries von Django, um die Anzahl der ausgeführten Abfragen und die jeweils benötigte Zeit zu verfolgen. Zum Beispiel: From Developer to Reviewer: A Junior Developer
  2. Reduzierung der Trefferanzahl:

    • Sobald Sie die Anzahl der Treffer kennen, besteht der nächste Schritt darin, zu prüfen, ob Sie diese reduzieren können. Die Reduzierung von Datenbanktreffern kann oft durch die Optimierung der Abfragen oder die Kombination mehrerer Abfragen zu einer erreicht werden.
    • Schlüsseltechniken:
      • Lazy vs. Eager Loading: Verstehen Sie, wann eine Abfrage ausgewertet wird. Lazy Loading verzögert die Abfrage, bis die Daten tatsächlich benötigt werden. Dies kann jedoch zum N1-Abfrageproblem führen. Durch eifriges Laden mit „select_related“ oder „prefetch_lated“ werden verwandte Objekte in einer einzigen Abfrage abgerufen, wodurch die Gesamtzahl der Treffer reduziert wird.
      • Joins: Wenn Sie Daten aus verwandten Tabellen benötigen, sollten Sie die Verwendung von Join-Abfragen in Betracht ziehen. Djangos select_lated (für Fremdschlüsselbeziehungen) und prefetch_lated (für Viele-zu-Viele- oder Reverse-Fremdschlüsselbeziehungen) sind hier Ihre Freunde.
  3. Redundante Abfragen vermeiden:

    • Suchen Sie nach redundanten Abfragen, bei denen dieselbe Abfrage mehrmals ausgeführt wird. Dies kann häufig durch Zwischenspeichern des Ergebnisses oder Umstrukturieren des Codes vermieden werden.
    • Beispiel: Anstatt innerhalb einer Schleife nach einem verwandten Objekt zu fragen, rufen Sie alle verwandten Objekte einmal vor der Schleife ab.
  4. Überlegungen zum Speicher:

    • Während die Reduzierung von Datenbanktreffern wichtig ist, sollten Sie auch die Speichernutzung berücksichtigen. Das Laden eines riesigen Datensatzes in den Speicher kann dazu führen, dass Ihre Anwendung langsamer wird oder abstürzt. Versuchen Sie, nur die Datensätze/Daten abzurufen, die Sie benötigen.

Abschluss
Das Überprüfen der Leistung von Datenbankabfragen ist eine Fähigkeit, die sich mit der Zeit und Erfahrung entwickelt. Konzentrieren Sie sich als Junior-Entwickler zunächst auf die Grundlagen – das Zählen von Datenbankzugriffen und die Suche nach Möglichkeiten, diese zu reduzieren. Tools wie „connection.queries“, „reset_queries“ und die ORM-Funktionen von Django sind in diesem Prozess von unschätzbarem Wert. Mit der Zeit entwickeln Sie ein Gespür dafür, Leistungsprobleme allein durch einen Blick auf den Code zu erkennen. Bis dahin können Sie sich auf die hier besprochenen Tools und Techniken verlassen.

Zusätzliche Tipps:

  1. Den Ausführungsplan verstehen: Tauchen Sie tiefer ein, indem Sie den SQL-Ausführungsplan verstehen, der von Ihren ORM-Abfragen generiert wird. Tools wie EXPLAIN in SQL können Ihnen helfen zu verstehen, wie Ihre Datenbank-Engine Abfragen ausführt, was Einblicke in mögliche Optimierungen liefern kann.

Ein Tipp für neue Entwickler:
Um mit der Überprüfung des Codes anderer Leute zu beginnen, müssen Sie nicht jeden Ablauf des Systems kennen. Beginnen Sie mit der Überprüfung kleiner Dinge wie Codequalität und -optimierung. Beginnen Sie mit dem ersten Durchgang und konzentrieren Sie sich auf die Grundlagen, und schließlich werden Sie ein großartiger Rezensent.
Versuchen Sie außerdem, bei der Überprüfung höflich und hilfsbereit zu sein und nicht arrogant zu sein. Denken Sie daran, das Ziel besteht darin, den Code zu verbessern und Ihrem Team zu helfen, und nicht nur darin, Fehler aufzuzeigen.

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/aman-giri/from-developer-to-reviewer-a-junior-developers-checklist-for-reviewing-database-queries-4kdm?1 Falls ein Verstoß vorliegt Bitte kontaktieren Sie Study_golang @163.comdelete
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3