假设向MySQL数据库发出以下查询:
SELECT * FROM table_name;
Run Code Online (Sandbox Code Playgroud)
请注意,没有 ORDER BY给出任何条款.
我的问题是:
MySQL是否给出了结果集行的顺序保证?
更具体地说,我可以假设行将按插入顺序返回吗?这与行插入表中的顺序相同.
表是否按照其主键进行内在排序?如果我在BigInt标识列上有一个带有主键的表,我可以相信查询将始终返回按键排序的数据,或者我是否明确需要添加"ORDER BY".性能差异很大.
我有下表
DBName Server Status UpdateTime
DB1 server1 NULL 5/4/2019
DB1 server1 NULL NULL
DB2 server2 NULL 6/4/2019
DB2 server2 NULL 6/4/2019
DB3 server2 NULL NULL
DB3 server2 NULL NULL
Run Code Online (Sandbox Code Playgroud)
有时,当我单击选择行时,它会以某种方式重新排列一些随机行。另外,如果单击“编辑”,我会注意到行已重新排列。为什么会这样呢?
DBName Server Status UpdateTime
DB1 server1 NULL 5/4/2019
DB2 server2 NULL 6/4/2019
DB3 server2 NULL NULL
DB3 server2 NULL NULL
DB2 server2 NULL 6/4/2019
DB1 server1 NULL NULL
Run Code Online (Sandbox Code Playgroud)
我的意思是,这实际上并不会引起问题,但是我有3个环境,当行的顺序不同时,很难跨环境比较结果。
起初,它是在我在家远程工作时发生的。所以我认为可能是VPN /网络问题。但是即使在办公室,它也发生了,我没有连接到VPN。
编辑:
这与这个问题不同,因为我没有主键