Database
 sql >> Datenbank >  >> RDS >> Database

5 sehr häufige Designfehler bei SQL-Abfragen, die Sie unbedingt vermeiden sollten

Um SQL Server-Datenbanken erfolgreich auszuführen, müssen Sie sich für das Abfragedesign interessieren. Leider denken die meisten Menschen nicht weiter über den Designprozess nach. Infolgedessen machen sie einfache Fehler, die zwar leicht zu vermeiden sind, aber weitreichende Folgen haben.

Zunächst einmal können Sie Benutzern bei schlecht geschriebenen Abfragen keine blitzschnellen Abrufzeiten garantieren. Auch Ihre Server werden vom ersten Tag an von Problemen geplagt. Und in der heutigen digitalen Welt sind dies Fehler, die Sie sich nicht leisten können. Aber wie vermeidet man diese Fehler? Hier sind Tipps zur Vorgehensweise.

1. Ihr Datenmodell konnte nicht überprüft werden

Ihr Datenmodell bestimmt, wie Benutzer auf Daten zugreifen. Denken Sie also von Anfang an Ihr Modell durch. Wenn Sie dies nicht tun, müssen Sie sich später mit unhandlichen Abfragen und kompliziertem Code herumschlagen, und beides wirkt sich negativ auf die Leistung aus. Eine einfache Möglichkeit herauszufinden, welche Abfragen für den Zugriff auf Daten erforderlich sind, besteht darin, Ihr Datenmodell auszudrucken.

Oder, noch besser, lassen Sie dies von einem Datenmodellierungstool erledigen. Ein Ausdruck- oder Modelliertool lässt Sie sehen, womit Sie es zu tun haben. Sie sind daher besser in der Lage, den Code zu vereinfachen, die Codierungszeit zu erhöhen, die Genauigkeit zu erhöhen und die Leistung zu verbessern.

2. Nichtberücksichtigung Ihrer Technik

Welche Technik verwenden Sie? Ist es Cursor-Logik oder Set-basierte Logik? Auf diese spezielle Frage gibt es keine einfache Antwort:Alles hängt von der Leistung ab, die Ihren Anforderungen am besten entspricht. Nehmen Sie zum Beispiel die mengenbasierte Logik. Es ist die offensichtliche Wahl für den Datenbankzugriff. Schließlich ist ein SQL Server darauf ausgelegt. Die Cursorlogik kann jedoch in einigen Fällen die basierte Logik übertreffen. Der Schlüssel ist, nicht eine Technik zu verwenden, wenn die andere besser wäre.

3. Verwenden Sie keine alten Codierungstechniken

Wenn Sie bewährte Codierungstechniken verwenden, geraten Sie selten in Schwierigkeiten. Sogar Codierungsmethoden, die Sie von SQL Server 2005 gelernt haben, können sich heute als nützlich erweisen. Versuchen Sie, die TRY…CATCH-Fehlerbehandlungstechnik in Ihrer Codierung zu verwenden. Die Ergebnisse können Sie überraschen. Auch die Verwendung von Common Table Expressions für Hierarchien oder der Datenbank-Engine Common Language Runtime (CLR) kann Sie überraschen.

Wenn Sie Hilfe brauchen, um alte Techniken aufzufrischen, überarbeiten Sie sie und suchen Sie online nach einigen Artikeln. Es gibt viele da draußen. Hier und hier sind ein paar SQL-Beispiele.

4. Peer-Review nicht nutzen

Bevor Sie Ihre Abfragepläne bereitstellen, sollten Sie sie von einer anderen Person überprüfen lassen. Die Chancen stehen gut, dass andere Leute sehen, was Sie verpasst haben. Ihre Überprüfungen Ihrer Indizes und Abfrageleistung helfen Ihnen oft, Ihren Code weiter zu verbessern. Sie könnten dabei auch das eine oder andere von Ihnen lernen und umgekehrt.

5. Ihre Abfragen konnten nicht getestet werden

Entwickler hassen es, Code testen zu müssen. Erstens ist es streng. Und zweitens stimmt die Testumgebung (Hardware und Daten) selten mit der realen Produktionsumgebung überein. Aber das Testen ist ein notwendiger und unvermeidlicher Teil des Programmierens. Testen Sie Ihren Code daher gründlich und versuchen Sie nach Möglichkeit, die endgültige Produktionsumgebung so genau wie möglich nachzuahmen. Denken Sie daran, dass Ihre Abfragen mit einigen hundert Datensätzen gut funktionieren, aber nicht mit Millionen in der endgültigen Umgebung.

Schlussfolgerung

Abfragen bestimmen die Geschwindigkeit und Leistung einer SQL-Datenbank. Versuchen Sie also, häufige Fehler zu vermeiden, wie z. B. das Nichtüberprüfen Ihres Datenmodells oder das Nichtüberlegen, welche Technik verwendet werden soll. Andere verwenden keine alten Codierungstechniken, nutzen Peer-Review-Mechanismen nicht und testen Ihre Abfragen nicht.