566 Stimmen

Fehler bei der Datenbankentwicklung, die von Anwendungsentwicklern gemacht werden

Was sind häufige Fehler bei der Datenbankentwicklung, die von Anwendungsentwicklern gemacht werden?

4voto

chefsmart Punkte 6668

Sie schenken der Verwaltung von Datenbankverbindungen in Ihrer Anwendung nicht genügend Aufmerksamkeit. Dann stellen Sie fest, dass die Anwendung, der Computer, der Server und das Netzwerk verstopft sind.

3voto

Einstein Punkte 4360

Fehlendes Verständnis des Gleichzeitigkeitsmodells von Datenbanken und dessen Auswirkungen auf die Entwicklung. Es ist einfach, nachträglich Indizes hinzuzufügen und Abfragen zu optimieren. Aber Anwendungen, die ohne angemessene Berücksichtigung von Hotspots, Ressourcenkonflikten und korrektem Betrieb (vorausgesetzt, das, was Sie gerade gelesen haben, ist immer noch gültig!) entwickelt wurden, können später erhebliche Änderungen innerhalb der Datenbank und der Anwendungsschicht erfordern.

3voto

Shane H Punkte 3173

Nicht verstehen, wie ein DBMS unter der Haube funktioniert.

Man kann nicht richtig mit einem Schaltgetriebe fahren, ohne zu verstehen, wie eine Kupplung funktioniert. Und Sie können nicht verstehen, wie man eine Datenbank benutzt, ohne zu wissen, dass Sie eigentlich nur in eine Datei auf Ihrer Festplatte schreiben.

Konkret:

  1. Wissen Sie, was ein Clustered Index ist? Haben Sie daran gedacht, als Sie Ihr Schema entworfen haben?

  2. Wissen Sie, wie man Indizes richtig einsetzt? Wie man einen Index wiederverwendet? Wissen Sie, was ein Covering Index ist?

  3. Toll, Sie haben also Indizes. Wie groß ist 1 Zeile in Ihrem Index? Wie groß wird der Index sein, wenn Sie eine große Menge an Daten haben? Passt das problemlos in den Speicher? Wenn nicht, ist er als Index nutzlos.

  4. Haben Sie jemals EXPLAIN in MySQL verwendet? Prima. Seien Sie jetzt ehrlich zu sich selbst: Haben Sie auch nur die Hälfte von dem verstanden, was Sie gesehen haben? Nein, das haben Sie wahrscheinlich nicht. Bringen Sie das in Ordnung.

  5. Kennen Sie den Abfrage-Cache? Wissen Sie, was eine Abfrage uncachable macht?

  6. Verwenden Sie MyISAM? Wenn Sie eine Volltextsuche brauchen, ist die von MyISAM sowieso Mist. Verwenden Sie Sphinx. Dann wechseln Sie zu Inno.

3voto

Sriram Punkte 808
  1. Verwendung eines ORM zur Durchführung von Massenaktualisierungen
  2. Auswahl von mehr Daten als nötig. Auch dies geschieht in der Regel bei Verwendung eines ORM
  3. Abfeuern von Sqls in einer Schleife.
  4. Sie verfügen nicht über gute Testdaten und bemerken Leistungseinbußen nur bei Live-Daten.

3voto

Nick Anderegg Punkte 966

Nun, ich würde sagen, dass der größte Fehler, den Anwendungsentwickler machen, darin besteht die Datenbank nicht richtig normalisiert.

Als Anwendungsentwickler weiß ich, wie wichtig eine ordnungsgemäße Datenbankstruktur, -normalisierung und -wartung ist; ich habe unzählige Stunden damit verbracht, mich über Datenbankstruktur und -verwaltung zu informieren. Meiner Erfahrung nach muss ich, wenn ich mit einem anderen Entwickler zusammenarbeite, in der Regel Umstrukturierung der gesamten Datenbank und die App entsprechend zu aktualisieren, da sie in der Regel fehlerhaft und defekt ist.

Ich habe zum Beispiel mit einem neuen Projekt begonnen, bei dem der Entwickler mich gebeten hat, Facebook Connect auf der Website zu implementieren. Ich öffnete die Datenbank, um zu sehen, womit ich arbeiten musste, und sah, dass jedes kleine bisschen Information über einen bestimmten Benutzer in der Datenbank gespeichert war. einen Tisch. Es hat mich sechs Stunden gekostet, ein Skript zu schreiben, das die Tabelle in vier oder fünf separate Tabellen aufteilt, und zwei weitere, um die Anwendung dazu zu bringen, diese Tabellen zu verwenden. Bitte, normalisieren Sie Ihre Datenbanken! Alles andere wird Ihnen weniger Kopfzerbrechen bereiten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X