Die schlechteste Option besteht darin, die Ergebnisse nach Zeit zu sortieren und das erste zu nehmen. Wählen Sie * aus einem wobei Erstellungszeit<="2017-03-29 19:30:36" Sortieren nach Erstellungszeitpunkt desc Grenze 1 Obwohl diese Methode den aktuellsten Datensatz zum aktuellen Zeitpunkt abrufen kann, muss die Tabelle für jede Abfrage einmal durchlaufen werden, was bei Abfragen mit mehr als einer Million Datenpunkten zeitaufwändig ist. Bei limit werden zuerst alle Ergebnisse und dann das erste abgerufen, was unnötig viel Zeit und Platz in der Abfrage beansprucht. Und wenn Sie den aktuellsten Datensatz stapelweise abrufen müssen, z. B.: „Eine Bestelltabelle enthält Benutzer, Bestellzeiten und -mengen, und Sie müssen die aktuellsten Bestelldatensätze aller Benutzer gleichzeitig abfragen“, muss für die Abfrage jedes Benutzers die gesamte Tabelle einmal durchlaufen werden. Bei großen Datenmengen erhöht sich die Zeit exponentiell und kann nicht in der Praxis genutzt werden. Mittlere Strategie - Abfrage sortiert und gruppiert nach Wählen Sie * aus ( Wählen Sie * aus einem wobei Erstellungszeit<="2017-03-29 19:30:36" Sortieren nach Erstellungszeitpunkt desc ) Gruppierung nach Benutzer-ID Später stellte ich fest, dass ich mit „group by“ zwar nach der Parameterspalte von „group by“ gruppieren kann, aber nur ein Ergebnis zurückgibt. Nach genauer Beobachtung stellte ich fest, dass „group by“ den ersten Datensatz nach der Gruppierung zurückgibt. Standardmäßig wird die Zeit nach der Abfrage der Reihe nach sortiert. Sie müssen die Zeit daher zunächst in umgekehrter Reihenfolge sortieren, um die Zeit abzurufen, die der aktuellen am nächsten kommt. Diese Abfrage führt tatsächlich zwei Abfragen aus. Obwohl die Zeit viel schneller ist als bei der ersten Methode, kann sie weiter optimiert werden. Die beste Strategie besteht darin, die Methode max() in Kombination mit group by zu verwenden. Wählen Sie *,max(create_time) aus einem wobei Erstellungszeit<="2017-03-29 19:30:36" Gruppieren nach Benutzer-ID Dieser Satz kann so verstanden werden, dass der Ergebnisset nach der Benutzer-ID gruppiert wird und der Datensatz mit der längsten Zeit in jeder Gruppe übernommen wird. Dadurch ist eine stapelweise Abfrage der neuesten Datensätze möglich und es muss nur einmal durch die Tabelle gegangen werden, so dass die Ergebnisse auch bei sehr großen Datenmengen in kürzester Zeit vorliegen. Erweiterungen: Jetzt gibt es eine Asset-Ausstattungstabelle: base_assets_turn Abfrage des neuesten Vermögensverwalters Hinweis: Angenommen, die Anlagennummer ASSETS_ID=254 Die nächstbeste Option: Wählen Sie * aus Base_Assets_Turn wobei ASSETS_ID = 254 Sortieren nach Erstellungszeitpunkt desc Grenze 1 Mittlere Politik: wählen Sie * aus (wählen Sie * aus base_assets_turn wobei ASSETS_ID = 254 Sortiert nach Erstellungszeitpunkt, absteigend) tt GROUP BY tt.ASSETS_ID; Beste Strategie: Wie sollte also die beste Strategie formuliert werden? Hinterlassen Sie gerne eine Nachricht! Oben finden Sie die MySQL-SQL-Anweisung zum Abfragen des aktuellsten Datensatzes (Optimierung), die Ihnen vom Herausgeber zur Verfügung gestellt wurde. Ich hoffe, sie ist für alle hilfreich. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht! Das könnte Sie auch interessieren:
|
<<: Installation, Konfiguration und Verwendung des Process Daemon Supervisors unter Linux
>>: Beispielcode für ein einfaches, nahtlos scrollendes Karussell, implementiert mit nativem Js
Heute ist mir ein Problem aufgefallen: Der Inhalt ...
Inhaltsverzeichnis Nginx fungiert als Proxy für z...
Dieser Artikel veranschaulicht anhand von Beispie...
Alle Websites, ob offiziell, E-Commerce, soziale ...
Inhaltsverzeichnis Effektanzeige Komponenteneinst...
Die SSH-Public-Key-Authentifizierung ist eine der...
Was ist NFS? Netzwerkdateisystem Eine Methode ode...
CHAR- und VARCHAR-Typen sind ähnlich und untersch...
[LeetCode] 196.Doppelte E-Mails löschen Schreiben...
Ergebnis: Der Hauptteil besteht darin, die Codelo...
Inhaltsverzeichnis 1. In der Projektentwicklung w...
Docker-Lernen https://www.cnblogs.com/poloyy/p/15...
Vorwort Beim Betrieb und der Verwaltung von Linux...
Dieser Artikel beschreibt anhand eines Beispiels,...
Perfekte Lösung für den schwarzen VMware-Bildschi...