您现在的位置是:网站首页> 编程资料编程资料
mysql和oracle默认排序的方法 - 不指定order by_Mysql_
2023-05-26
691人已围观
简介 mysql和oracle默认排序的方法 - 不指定order by_Mysql_
先说结论
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字段类型为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引擎,默认使用的插入顺序排序
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。
相关内容
- 深入浅析MySQL Explain_Mysql_
- MySQL使用ReplicationConnection导致连接失效解决_Mysql_
- MySQL实现行列转换_Mysql_
- MySQL判断时间段是否重合的两种方法_Mysql_
- MySql获取当前时间并转换成字符串的实现_Mysql_
- MySql存储表情报错的排查解决_Mysql_
- MySQL约束之默认约束default与零填充约束zerofill_Mysql_
- Mysql子查询关键字的使用方式(exists)_Mysql_
- 解决mybatis查询结果为null时,值被默认值替换问题_Mysql_
- 避坑:Sql中 in 和not in中有null值的情况说明_Mysql_
