首頁 > 軟體

mysql和oracle預設排序的方法 - 不指定order by

2022-07-08 18:07:24

先說結論

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引擎,預設使用的插入順序排序

以上為個人經驗,希望能給大家一個參考,也希望大家多多支援it145.com。


IT145.com E-mail:sddin#qq.com