關於mysql中orderby的幾個注意事項

2021-09-30 04:44:31 字數 563 閱讀 6461

在mysql+php查詢中 對字段的型別要求比較高 例如varchar(11)和int 這兩種型別 在許多時候可以通用但是在下面這種情況時候最好還是選擇int而不要選擇varchar(11)

table list

欄位名   型別

id       int    auto_increment

list_id  varchar(11)

content  varchar(50000)

請先看上面的幾個字段 在php中使用sql進行查詢時

eg  a:select * from tablelist order by list_id asc  

eg  b:select * from tablelist order by id asc

這兩個語句查詢時查詢的結果會有所差異

eg a  的結果 查詢出來的順序是 1,10,11,2,21,23,3,4,5

eg b 的寄過 查詢出來的順序是 1,2,3,4,5,6,7,8,9,10

菊子曰啦!

MySQL中Order By實現原理分析

下面將通過例項分析兩種排序實現方式及實現 假設有 table a 和 b 兩個表結構分別如下 1 利用有序索引進行排序,實際上就是當我們query 的order by 條件和query 的執行計畫中所利用的index的索引鍵 或前面幾個索引鍵 完全一致,且索引訪問方式為rang ref 或者inde...

MySQL中order by的工作原理

假設有查詢語句 select city,name,age from t where city 杭州 order by name limit 1000,且city上建立索引。mysql為order by排序開闢的記憶體稱為sort buffer,如果要排序的資料量小於這塊記憶體,則在記憶體中進行排序。...

關於子查詢中的order by子句

關於子查詢中能否用order by子句,有以下兩種情況 第一種例如 select a.col1 from a where a.col2 in select b.col2 from b order by b.col1 這種情況下子查詢只是乙個集合,並不需要進行order by。第二種例如 select...