mysql和oracle默认排序的方法 - 不指定order by |
先说结论1. oracle: oracle 默认没有排序规则 2. mysql 2.1 innoDB引擎: 默认查询按照id正序排序 2.2 myISAM引擎: 默认按照插入时间正序排序 mysql: 已明确查询的默认排序方式为id或者插入顺序的一种 1. innoDB引擎1.1 创建表,id类型为字符串1.2 插入数据,并查询如下图: 观察create_date可以看出,插入顺序为"1","2","12" 。 但查询结果是"1", "12", "2" , 因此一定不是按照插入时间排序的 。 强调:当前表的id类型为字符串 1.3 创建表,id字段类型为int1.4 插入数据,并查询如下图: 观察create_date可以看出,插入顺序为1 , 12 , 2 。 但查询结果是1 , 2 , 12, 因此一定不是按照插入时间排序的 。 强调:当前表的id类型为int 1.5 结论由以上两个结果可以观察到, innoDB引擎,默认使用的id排序 2. myISAM引擎2.1 创建表, id类型为字符串2.2 插入数据,并查询如下图: 观察create_date可以看出,插入顺序为1 , 2 , 12, 3 。 查询结果也是1 , 2 , 12, 3, 因此一定不是按照id排序的 。 强调:当前表的id类型为字符串 2.3 创建表,id字段类型为int2.4 插入数据,并查询结果如图: 观察create_date可以看出,插入顺序为1 , 12 , 2, 11 。 查询结果也是1 , 12 , 2,11, 因此一定不是按照id排序的 。 强调:当前表的id类型为int 2.5 结论由以上两个结果可以观察到, myISAM引擎,默认使用的插入顺序排序 以上为个人经验,希望能给大家一个参考,也希望大家多多支持 。 |