亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

sql語句優化的十二條建議

發布時間:2020-07-31 10:30:06 來源:網絡 閱讀:410 作者:九幽心 欄目:數據庫

1.應盡量避免在 where 子句中對字段進行 null 值判斷,否則將導致引擎放棄使用索引而進行全表掃描,如:
select id from t where num is null
可以在num上設置默認值0,確保表中num列沒有null值,然后這樣查詢:
select id from t where num=0

2.應盡量避免在 where 子句中使用 or 來連接條件,否則將導致引擎放棄使用索引而進行全表掃描,如:
select id from t where num=10 or num=20
可以這樣查詢:
select id from t where num=10
union all
select id from t where num=20

 

3下面的查詢也將導致全表掃描:
select id from t where name like '%abc%'
若要提高效率,可以考慮全文檢索。

 

4.in 和 not in 也要慎用,否則會導致全表掃描,如:
select id from t where num in(1,2,3)
對于連續的數值,能用 between 就不要用 in 了:
select id from t where num between 1 and 3

 

 

5.應盡量避免在 where 子句中對字段進行表達式操作,這將導致引擎放棄使用索引而進行全表掃描。如:
select id from t where num/2=100
應改為:
select id from t where num=100*2

 

 

6.很多時候用 exists 代替 in 是一個好的選擇:
select num from a where num in(select num from b)
7.用下面的語句替換:
select num from a where exists(select 1 from b where num=a.num)

 

 

 

8.索引并不是越多越好,索引固然可以提高相應的 select 的效率,但同時也降低了 insert 及 update 的效率,因為 insert 或 update 時有可能會重建索引,所以怎樣建索引需要慎重考慮,視具體情況而定。一個表的索引數最好不要超過6個,若太多則應考慮一些不常使用到的列上建的索引是否有必要。

 

 


9.盡可能的使用 varchar/nvarchar 代替 char/nchar ,因為首先變長字段存儲空間小,可以節省存儲空間,其次對于查詢來說,在一個相對較小的字段內搜索效率顯然要高些。

 

10.任何地方都不要使用 select * from t ,用具體的字段列表代替“*”,不要返回用不到的任何字段。

 

11.避免頻繁創建和刪除臨時表,以減少系統表資源的消耗。

12.臨時表并不是不可使用,適當地使用它們可以使某些例程更有效,例如,當需要重復引用大型表或常用表中的某個數據集時。但是,對于一次性事件,最好使用導出表。

 


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南皮县| 上虞市| 双城市| 广州市| 济南市| 河南省| 弋阳县| 霍山县| 娄底市| 英德市| 农安县| 云龙县| 叙永县| 威海市| 湟源县| 鹤壁市| 阿城市| 穆棱市| 涪陵区| 天水市| 漯河市| 璧山县| 富锦市| 恩平市| 山东省| 依安县| 西青区| 青河县| 会理县| 勐海县| 阿拉善盟| 伽师县| 通化市| 保康县| 久治县| 吉水县| 酉阳| 千阳县| 赤壁市| 霍林郭勒市| 土默特左旗|