PostgreSQL 默认排序

刚刚接触到号称功能最强大的开源数据库 PostgreSQL,发现在不加 ORDER BY 的情况下每次查询返回的结果顺序都不一致,推测以下两种情况可能会导致。

JOIN 导致结果顺序随机

第一个遇见的每次查询结果顺序都不一致的 SQL 大致如下:

1
2
3
4
5
SELECT a.id, b.id, c.id
FROM table_a a
INNER JOIN table_b b on a.b_id = b.id
INNER JOIN table_c c on a.c_id = c.id
LIMIT 20

Read More

浮点运算

浮点数格式

格式 符号 指数 有效数 总长 指数偏移 精确度(二进制) 精确度(十进制) C++类型
单精度 1 8 23 32 127 24 ~7 float
双精度 1 11 52 64 1023 53 ~16 double
扩展双精度 1 15 64 80 16383 64 ~19 long double
四倍精度 1 15 112 128 16383 113 ~34 long double, __float128, _Quad

Read More