在使用GROUP BY 時候需要注意的地方

2021-08-04 22:46:28 字數 439 閱讀 9632

在開發過程中常常會遇到sql 進行分組的業務,筆者在編碼過程中就犯了這樣乙個低階錯誤,還好專案經理及時指出來了,避免了以後的問題,給大家分享一下。

使用explain 可以看到執行計畫,看到extra列中有using filesort,這是對效能有一定影響的,特別是使用了group by時,就算你沒有顯示的指定order by,mysql會預設按照分組字段進行排序。某些情況下是沒有必要使用排序的,這個 filesort 並不是說通過磁碟檔案進行排序,而只是告訴我們進行了乙個排序操作而已。

則完全可以可以使用order by null來取消排序

group by和order by配合使用注意

對於sql server來說 group by和order by同時存在的情況是,order by對group by後的結果再進行排序的,所以order by後面的排序字段需要在select裡出現的,即orderby子句中的列必須包含在聚合函式或groupby子句中。如 下面這個就是錯的 sql c...

在使用命令xp cmdshell的時候需要設定許可權

mssql2005 如何啟用xp cmdshell 預設情況下,sql server2005安裝完後,xp cmdshell是禁用的 可能是安全考慮 如果要使用它,可按以下步驟 允許配置高階選項 exec sp configure show advanced options 1 go 重新配置 re...

在使用命令xp cmdshell的時候需要設定許可權

mssql2005 如何啟用xp cmdshell 預設情況下,sql server2005安裝完後,xp cmdshell是禁用的 可能是安全考慮 如果要使用它,可按以下步驟 允許配置高階選項 exec sp configure show advanced options 1 go 重新配置 re...