Stellen Sie sich das Chaos vor, Sie erstellen eine kostenlose Datenbank in NeonDB mit 0,5 GB Speicher und denken: „Schön, ich werde zum Testen eine kostenlose Stufe verwenden.“ . Dann, Stunden später, kommt die fatale E-Mail: „Ihr Speicher wurde verbraucht!“. Wow, was meinst du? Es blieb nicht einmal Zeit, den Stuhl aufzuwärmen! Die Antwort? Ich habe das hervorragende Prisma ORM verwendet und zur Verbesserung den ganzen Tag über mehrere Migrationen durchgeführt, bei denen ich nur das Schema modelliert habe.
Lassen Sie uns verstehen, was passiert ist und natürlich, warum manchmal das gute alte SQL immer noch tausendmal besser ist.
Zuerst müssen Sie sich selbst kontextualisieren. Ich habe den CrazyStack-Kurs 124 (mein Node- und React-Bootcamp) aufgezeichnet. Und es ist möglich, Postgres oder Mongodb ohne ORMs zu verwenden. Allerdings bat mich ein Student über WhatsApp, Prisma in das Projekt einzubinden. Hey, ich habe beschlossen, das Experiment durchzuführen.
Prisma ist das Ding, das perfekt zu sein scheint. „Ich werde Datenbankabfragen abstrahieren, Zeit sparen, das ist der neue Hype.“ Aber Überraschung! Es gibt kein kostenloses Mittagessen und dieser Rango wurde in Form von getoastetem Vorrat serviert. Ich habe tagsüber migrates ausgeführt und es war einfach zu stark für Neondb. Und es war nicht einmal ein riesiges Projekt.
Und Prisma erstellt nicht nur die Migrationen, sondern hinterlässt als Bonus auch einige zusätzliche Tabellen und Protokolle. Wenn Sie, wie ich, Dinge testen und Migrationen nach links und rechts durchführen, kommt dieses Geschenk am Ende aus dem Griechischen.
Prisma ist sehr gut, aber wenn es um die Aufbewahrung geht, geht es gerne aufs Ganze:
Runde Migrationen: Jedes Mal, wenn ich eine Migration durchführte, erstellte und speicherte Prisma neue Migrationen. Jedes mit seinem eigenen kleinen Paket an Metadaten, Protokollen und Tabellen.
Protokolle, die sich vervielfachen: Um sicherzustellen, dass nichts schief geht (oder um Ihnen das Leben zu erleichtern, wenn es passiert), zeichnet Prisma detaillierte Protokolle auf. Aber diese Protokolle sammeln sich an und da ich nicht auf einer „unbegrenzten“ Bank bin, werden sie bald zu einem Problem.
Überladung mit Hilfstabellen: Zusätzlich zu Migrationen erstellt Prisma auch zusätzliche Tabellen, um den Überblick über verschiedene Dinge zu behalten, insbesondere in relationalen Datenbanken wie Postgres.
Am Ende verschlang das, was wie ein magisches Werkzeug zur Vereinfachung des Lebens erschien, meine kostenlose NeonDB.
Und hier kommt der gute alte SQL-Ansatz ins Spiel. Ja, Prisma ist großartig und spart Zeit, aber manchmal macht es die Dinge nur komplizierter. Lassen Sie uns über die Vorteile des Verzichts auf ORM und des manuellen Schreibens Ihrer Abfragen sprechen:
Absolute Control: Die Rechnung enthält keine Überraschungen. Sie wissen genau, was jede Codezeile tut, und Sie werden keine Protokolle oder versteckten Tabellen finden, die Ihren Platz beanspruchen.
Kein Eigengewicht: Bei Verwendung von Direct SQL geht das, was Sie schreiben, an die Bank. Es gibt keine Metadaten, Migrationen oder Protokolle, die den Einsatz belasten.
Mehr Leistung: Direct SQL verbraucht, wenn es gut gemacht wird, viel weniger Platz und Ressourcen. Es ist ideal für kleine Banken wie NeonDB für diejenigen, die wie ich Freeganisten sind.
Kein verstecktes Geschäft: Keine von Grund auf neu erstellten Tabellen oder sich stapelnde Transaktionsprotokolle. Die Kontrolle liegt bei Ihnen und nur bei Ihnen.
Wenn Sie, wie ich, gerne Tools testen und schnelle Experimente durchführen, überlegen Sie es sich zweimal, bevor Sie einen Prisma ORM mit wenig Platz in Ihre Datenbank werfen. Ist das Prisma ein Wunder? UND. Aber in einer begrenzten Bank wie NeonDB ist es, als würde man eine Party veranstalten und feststellen, dass das gekaufte Bier nicht für alle ausreicht.
Manchmal ist „On-the-Fly“-SQL der sicherste Weg, da es Ihnen die genaue Kontrolle darüber gibt, was in die Datenbank gelangt. Und die Lektion ist: Das nächste Mal werde ich besser überlegen, bevor ich eine Migration nach der anderen auf einer 0,5-GB-Bank durchführe.
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