Bei der Durchführung von Paging-Abfragen aufgetretene Fallstricke:
Problem entdeckt: Nach dem Sortieren eines einzelnen nicht indizierten Feldes wurde ein Grenzwert gefunden. Es wurde festgestellt, dass der genommene Wert nicht der Wert nach der normalen Sortierung ist, wenn die sortierten Felder den gleichen Wert haben und innerhalb des Grenzwertbereichs liegen Das heißt, wenn die in Zeile N eingestuften Daten Schlüssel1 oder Schlüssel2 sein können, kann das Sortierergebnis Schlüssel1 oder Schlüssel2 sein.
Sortieren + Ergebnisse begrenzen (Sortierschlüssel ohne Index)
Drücken Sie cnt, um das Schlüsselwort abzurufen und die drei besten Ergebnisse zu erhalten:Originaltext:
Wenn mehrere Zeilen identische Werte in den ORDER BY-Spalten haben, kann der Server diese Zeilen in beliebiger Reihenfolge zurückgeben und dies je nach Gesamtausführungsplan unterschiedlich tun. Mit anderen Worten, die Sortierreihenfolge dieser Zeilen ist nicht deterministisch in Bezug auf die nicht geordneten Spalten.
Das bedeutet, dass MySQL diese Zeilen zufällig auswählt, wenn die Spalten von order by den gleichen Wert haben, was je nach Ausführungsplan variieren wird.
Lösung: Die Spalte „Ordnung nach“ enthält eine Indexspalte
Das obige ist der detaillierte Inhalt vonSo lösen Sie die Gefahr der MySQL-Reihenfolge nach Limit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!