1.where中少用not、!=、<>、!<、!>、not exists、not in、not like,它們會引起全表掃瞄
2.exists代替in : in子查詢返回的結果不能超過1000條,使用exists為替代方案。
3.自連線(
select
count(*
) from
tableb b,tablea a
where
b.id
=a.id
)小表在前,大表再後用時較少
4.左鏈結,大表再前,小表在後,用時較少
5.where條件順序(
select
count(*
) from
tableb b,tablea a
where
b.id
=a.id
andb.type ='
0001
') 篩選條件再右邊用時較少
SQL 語句優化 OR 語句優化案例
從上海來到溫州,看了前幾天監控的sql語句和資料變化,發現有一條語句的io次數很大,達到了150萬次io,而兩個表的資料也就不到20萬,為何有如此多的io次數,下面是執行語句 select ws.nodeid,wi.laststepid,wi.curstepid from workflowinfo ...
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...