SQL優化之高效SQL語句

2022-09-19 12:12:10 字數 773 閱讀 2607

一、sql語句的執行步驟:

from子句組裝來自不同資料來源的資料;(from後面的表關聯,是自右向左解析的,即在寫sql的時候,盡量把資料量大的表放在最右邊來進行關聯)

where子句基於指定的條件對記錄行進行篩選;(where條件的解析順序是自下而上,從右到左的,即應把能篩選出大量資料的條件放在where語句的最下面)

group by子句將資料劃分為多個分組;

使用聚集函式進行計算;

使用h**ing子句篩選分組;

計算所有的表示式;

select 的字段;

使用order by對結果集進行排序;

選擇指定數量或比例的行,返回給呼叫者。

sql查詢處理的步驟順序如下:

(8)select  (9) distinct  (11) (1) from (3) join (2) on (4) where (5) group by (6) with 

(7) h**ing (10) order by (12) limit

在sql語句中,第乙個被處理的子句是from,而不是第一句select。以上每個步驟都會產生乙個虛擬表,該虛擬表被用作下乙個步驟的輸入;

對查詢進行優化,應盡量避免全表掃瞄

(1)where 語句

(2)select語句

(3)連線語句

(4)count (*)和 count(1)以及 count(column)的區別

(5)查詢的模糊匹配

(6)複雜操作

mysql之高效sql注意

今天扯淡下我們寫sql應該注意些什麼,歡迎拍磚,互相學習!注意點說明 1.全值匹配最好 2.最左字首法則,如果索引了多列,要遵循最左字首法則。指的是查詢從索引的最左前列開始並且不跳過索引中的列 3.不在索引列上做任何操作 計算 函式 自動或手動型別轉換 會導致索引失效而轉向全表掃瞄 4.範圍條件右邊...

sql語句優化!

1.不要使用in操作符,這樣資料庫會進行全表掃瞄,推薦方案 在業務密集的sql當中盡量不採用in操作符 a 改為 a 4.is null 或is not null操作 判斷字段是否為空 5.及 操作符 大於或小於操作符 大於或小於操作符一般情況下是不用調整的,因為它有索引就會採用索引查詢,但有的情況...

SQL語句優化

explain sql 反饋sql語句執行資訊 1 優化 select min id as nid,uid pmzongfen updatetime picid gg from qd mouldu qd sell limit 1 select uid pmzongfen updatetime pic...