1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
|
set enable_seqscan=off;
CREATE TABLE test_float4 (
i float4
);
INSERT INTO test_float4 VALUES (-2),(-1),(0),(1),(2),(3);
CREATE INDEX idx_float4 ON test_float4 USING rum (i);
SELECT * FROM test_float4 WHERE i<1::float4 ORDER BY i;
i
----
-2
-1
0
(3 rows)
SELECT * FROM test_float4 WHERE i<=1::float4 ORDER BY i;
i
----
-2
-1
0
1
(4 rows)
SELECT * FROM test_float4 WHERE i=1::float4 ORDER BY i;
i
---
1
(1 row)
SELECT * FROM test_float4 WHERE i>=1::float4 ORDER BY i;
i
---
1
2
3
(3 rows)
SELECT * FROM test_float4 WHERE i>1::float4 ORDER BY i;
i
---
2
3
(2 rows)
EXPLAIN (costs off)
SELECT *, i <=> 0::float4 FROM test_float4 ORDER BY i <=> 0::float4;
QUERY PLAN
--------------------------------------------
Index Scan using idx_float4 on test_float4
Order By: (i <=> '0'::real)
(2 rows)
SELECT *, i <=> 0::float4 FROM test_float4 ORDER BY i <=> 0::float4;
i | ?column?
----+----------
0 | 0
-1 | 1
1 | 1
-2 | 2
2 | 2
3 | 3
(6 rows)
EXPLAIN (costs off)
SELECT *, i <=> 1::float4 FROM test_float4 WHERE i<1::float4 ORDER BY i <=> 1::float4;
QUERY PLAN
--------------------------------------------
Index Scan using idx_float4 on test_float4
Index Cond: (i < '1'::real)
Order By: (i <=> '1'::real)
(3 rows)
SELECT *, i <=> 1::float4 FROM test_float4 WHERE i<1::float4 ORDER BY i <=> 1::float4;
i | ?column?
----+----------
0 | 1
-1 | 2
-2 | 3
(3 rows)
|