91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

临潭县| 香港| 容城县| 平顶山市| 迁西县| 阜宁县| 竹溪县| 宣恩县| 栖霞市| 广州市| 新郑市| 乡宁县| 长白| 常宁市| 上林县| 瑞昌市| 新巴尔虎右旗| 沾益县| 翁源县| 康保县| 柳江县| 嘉义市| 繁峙县| 三门峡市| 彩票| 鄂托克前旗| 新蔡县| 若羌县| 岢岚县| 丹阳市| 汪清县| 新建县| 永兴县| 汝阳县| 抚远县| 邹平县| 海盐县| 铁力市| 读书| 天水市| 乡城县|