如何证明数据库中缺少隐式顺序?
最近,我向同事们解释了在必要时使用一列对数据库表中的数据进行排序的重要性,例如,按时间顺序排列的数据。事实证明这有些困难,因为他们似乎可以无休止地重新运行查询,并且总是以相同的顺序返回相同的行集。 我之前已经注意到这一点,而我真正能做的就是坚持要他们信任我,而不仅仅是假设数据库表的行为就像传统的CSV或Excel文件一样。 例如,执行(PostgreSQL)查询 create table mytable ( id INTEGER PRIMARY KEY, data TEXT ); INSERT INTO mytable VALUES (0, 'a'), (1, 'b'), (2, 'c'), (3, 'd'), (4, 'e'), (5, 'f'), (6, 'g'), (7, 'h'), (8, 'i'), (9, 'j'); 将创建具有明确概念顺序的表格。以最简单的方式选择相同的数据将是: SELECT * FROM mytable; 总是给我以下结果: id | data ----+------ 0 | …