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类型为字符串
【mysql和oracle默认排序的方法 – 不指定order by】
1.3 创建表 , id字段类型为int
1.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字段类型为int
2.4 插入数据 , 并查询结果如图:
观察create_date可以看出 , 插入顺序为1 , 12 , 2 ,  11 。查询结果也是1 , 12 , 2 , 11 ,  因此一定不是按照id排序的 。强调:当前表的id类型为int
2.5 结论由以上两个结果可以观察到 ,  myisam引擎 , 默认使用的插入顺序排序
以上为个人经验 , 希望能给大家一个参考 , 也希望大家多多支持www.887551.com 。

    推荐阅读