Popularny termin krótkoterminowy to po prostu „Wartości wierszy” . Lub „Porównanie wartości wierszy” dla operacji, którą demonstrujesz. Ta funkcja jest w standardzie SQL od SQL-92 (!). Postgres jest obecnie jedynym głównym systemem RDBMS, który obsługuje go we wszystkich aspektach - zwłaszcza z optymalną obsługą indeksów.
W szczególności wyrażenie (col1, col2) < (1, 2)
to po prostu skrót dla ROW(col1, col2) < ROW(1, 2)
w Postgres.Wyrażenie ROW(col1, col2)
jest również nazywany konstruktorem wierszy - podobnie jak ARRAY[col1, col2]
jest konstruktorem tablicy.
Jest dogodnie skrótem od bardziej szczegółowego, równoważnego wyrażenia:
col1 < 1 OR (col1 = 1 AND col2 < 2)
... a Postgres może używać indeksu w (col1, col2)
lub (col1 DESC, col2 DESC)
w tym celu.
I szczególnie różni się od (!)
col1 < 1 AND AND col2 < 2
Rozważ przykład:(1,1)
...
Oto prezentacja Markusa Winanda, która szczegółowo omawia funkcję paginacji:
„Pagination done the PostgreSQL way” na use-the-index-luke.com.
Porównanie wartości wierszy zaczyna się na stronie 20. Macierz podpór, o której mówiłem, znajduje się na stronie 45.
Nie jestem w żaden sposób powiązany z żadnym z cytowanych przeze mnie źródeł.