Postgresql - Nach UUID v1 Zeitstempel sortieren

8

Ich verwende UUID v1 als Primärschlüssel. Ich möchte nach UUID v1 Zeitstempel sortieren. Gerade jetzt, wenn ich etwas wie

mache %Vor%

Postgresql sortiert die Datensätze nicht nach dem UUID-Zeitstempel, sondern nach der UUID-Zeichenfolgendarstellung, was in meinem Fall zu einem unerwarteten Sortierergebnis führt.

Fehle ich etwas oder gibt es dafür in Postgresql keine Möglichkeit?

    
user232343 08.06.2016, 21:21
quelle

1 Antwort

11

Der Zeitstempel ist einer der Teile einer v1 UUID. Es wird im Hexadezimalformat als Hunderte Nanosekunden seit 1582-10-15 00:00 gespeichert. Diese Funktion extrahiert den Zeitstempel:

%Vor%

122192928000000000 ist das Intervall zwischen dem Beginn des Gregorianischen Kalenders und dem Unix-Zeitstempel.

In Ihrer Anfrage:

%Vor%

Um die Leistung zu verbessern, kann ein Index erstellt werden:

%Vor%     
Clodoaldo Neto 16.06.2016, 12:19
quelle

Tags und Links