您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關深入淺析MYSQL數據庫中關鍵字的優先級,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
如下所示:
from 表
where 條件
group by 字段
形成虛擬的表及字段,聚合及字段添加
having 篩選數據
distinct 去重
order by 字段 asc,desc
limit 限制條數
select 羅列記錄
先根據where 約束條件 將數據從表中加載到內存,所以where的條件作用在數據之前,然后根據字段進行分組,在內存中形成一張虛擬的表包含字段,
如果此時有聚合函數則先執行聚合函數,并將聚合函數字段也加到虛擬的表中,接著進行having記錄篩選,篩選完成后對數據進行去重,排序,限制等操作后進行顯示。
補充知識:mysql where條件and的執行順序從左到右
之前做功能,把三個條件通過md5加密之后得到一個字符串的字段unique_key,把這個字段設置為唯一索引,希望查詢的時候通過這個唯一索引來查詢,不用分三個條件分別進行查詢了,同時使用了replace方法保證相同的三個條件下更新數據的話數據庫只會有一條記錄。
后來發現列表查詢必須要開放這三個條件,于是只好將這個unique_key放到where條件and 的最左邊,通過unique_key篩選出來效率也不會差。
看完上述內容,你們對深入淺析MYSQL數據庫中關鍵字的優先級有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。