SQL語句也可以重構優化

2022-02-13 13:42:45 字數 628 閱讀 2413

真的,不管是程式中的**可以重構優化,在sql server的語句,也是可以的。

下面舉個例子,在儲存過程中,所傳入的資料引數不能為空,另外在對資料表進行更新時,所更新的字段如果是空的話,就更新,如果傳入的引數值與所更新的字段值相同,就不更新:

剛開始所寫的**如下:

看到否,上面的程式,**冗餘而具邏輯也需要花上一些時間才能理解得了。

先是獲取所更新的字段值,然後判斷該字段值是否為空,如果為空,還要判斷所傳入的引數值是否也為空,如果都不為空,才作更新動作。資料庫字段值如果不為空,還要判所值入的值是否相同,不相同才做更新的動作。

就是後者的else也似乎有點問題,雖然資料庫所更新的字段不為空,但傳入的值為空呢?

每每是早上的思考與思維大不一樣,結果被insus.net修改如下:

先判斷所傳入的引數是否為空,如果為空,直接return。

接下來是判與所更新的字段值是否相同,不相同的話,直接更新就是了。

記錄經驗一點點。

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...