Ja, in einigen Fällen haben Sie recht. Wenn wir mehr Daten haben und fast auf jeder Site, sind die Daten nicht wirklich klein. Dann ist es besser, DB Query als Eloquent Query zu verwenden .
In einem Leistungsproblem von Eloquent VS DB habe ich das gehört,
Das Einfügen von 1000 Zeilen für eine einfache Tabelle Eloquent dauert 1,2 Sekunden, und in diesem Fall benötigen DB-Fassaden nur 800 Millisekunden (ms).
Warum dann Eloquent? Ist das nicht nötig?
Antwort ist - Beredsam ist auch notwendig. Ursache-
Um eine bessere Beziehung zu erstellen und die Ergebnisse mit so viel einfacher Syntax anzuzeigen, wenn eine Verbindung erforderlich ist.
Eloquent ist auch für diejenigen gedacht , die nicht viel über SQL-Abfragen wissen .
Ein MVC-Framework folgt den Regeln für Code-Lesbarkeit, Code-Wartbarkeit und was Eloquent ist, das wissen Sie. Ein Codevergleich unten. Offensichtlich ist Eloquent besser zu lesen.
$student = App\Student::find($id);
$student = DB::table('student')->where('id', $id)->first();
Der wichtigste Teil ist, wenn wir eine andere Datenbank ändern möchten, wird uns die rohe Abfrage viel Kopfzerbrechen bereiten, und in diesem Fall wird Laravel Eloquent alle Probleme mit einer Hand lösen. Es kann verschiedene Arten von Datenbanken verarbeiten.
Wenn wir also Eloquent- und When DB-Fassaden verwenden:
- Wenn wir an einer einfachen und kleinen Datensatz-Site mit einfachem CRUD arbeiten und dort keine Fakten vorliegen, verwenden Sie dort Eloquent.
- Wenn wir an vielen Datensätzen arbeiten, ist es besser, DB Query als Eloquent zu verwenden.
Schließlich ist klar, dass - wann wir die Datenbankabfrage verwenden und wann wir die eloquente Abfrage verwenden.
Bearbeiten - Beispiel aus dem wirklichen Leben
- Ich mache eine Universitätswebsite . Welches kann maximal enthalten
5,000 teachers and 10,000 students and some notices and files
. Dann ist es besser, dies mit einfachem Laravel Eloquent zu tun, das sehr normal und lesbar ist.
- Jetzt mache ich eine Seite wie Stackoverflow . Welches kann mehr als enthalten
1,000,0000 (1 crore) posts and many more things
. Ich muss dort die konventionellen DB-Fassaden wählen. Es ist schneller, die Beiträge aus so vielen Datensätzen zu durchsuchen.
Sie können Ihre Abfrageleistung mithilfe der Laravel-Debugbar überprüfen (ein beliebtes Paket zum Überprüfen der Leistung / Ausführungszeiten von Eloquent- / Datenbankabfragen).
Jetzt haben Sie die Wahl. Was du machen willst ...
Sie können hier einen vollständigen Code durch Codevergleich mit Leistung, Speicherverbrauch und Codequalität überprüfen - https://devsenv.com/tutorials/laravel-eloquent-vs-db-query-builder-performance-and-other-statistics