成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

聊一下SQL高效查詢建議

運維 數據庫運維
為什么別人的查詢只要幾秒,而你的查詢語句少則十多秒,多則十幾分鐘甚至幾個小時?與你的查詢語句是否高效有很大關系。

[[396091]]

本文轉載自微信公眾號「SQL數據庫開發」,作者丶平凡世界  。轉載本文請聯系SQL數據庫開發公眾號。

為什么別人的查詢只要幾秒,而你的查詢語句少則十多秒,多則十幾分鐘甚至幾個小時?與你的查詢語句是否高效有很大關系。

今天我們來看看如何寫出比較高效的查詢語句。

1.盡量不要使用NULL當默認值

在有索引的列上如果存在NULL值會使得索引失效,降低查詢速度,該如何優化呢?例如:

SELECT * FROM [Sales].[Temp_SalesOrder] WHERE UnitPrice IS NULL

我們可以將NULL的值設置成0或其他固定數值,這樣保證索引能夠繼續有效。

SELECT * FROM [Sales].[Temp_SalesOrder] WHERE UnitPrice =0

這是改寫后的查詢語句,效率會比上面的快很多。

2.盡量不要在WHERE條件語句中使用!=或<>

在WHERE語句中使用!=或<>也會使得索引失效,進而進行全表掃描,這樣就會花費較長時間了。

3.應盡量避免在 WHERE子句中使用 OR

遇到有OR的情況,我們可以將OR使用UNION ALL來進行改寫

例如:

  1. SELECT * FROM T1 WHERE NUM=10 OR NUM=20 
  2.  
  3. 可以改寫成 
  4.  
  5. SELECT * FROM T1 WHERE NUM=10 
  6.  
  7. UNION ALL 
  8.  
  9. SELECT * FROM T1 WHERE NUM=20 

4.IN和NOT IN也要慎用

遇到連續確切值的時候 ,我們可以使用BETWEEN AND來進行優化

例如:

  1. SELECT * FROM T1 WHERE NUM IN (5,6,7,8) 

可以改寫成:

  1. SELECT * FROM T1 WHERE NUM BETWEEN 5 AND 8. 

5.子查詢中的IN可以使用EXISTS來代替

子查詢中經常會使用到IN,如果換成EXISTS做關聯查詢會更快

例如:

  1. SELECT * FROM T1 WHERE ORDER_ID IN (SELECT ORDER_ID FROM ORDER WHERE PRICE>20); 

可以改寫成:

  1. SELECT * FROM T1 AS A WHERE EXISTS (SELECT 1 FROM ORDER  AS B WHERE A.ORDER_ID=B.ORDER_ID AND B.PRICE>20) 

雖然代碼量可能比上面的多一點,但是在使用效果上會優于上面的查詢語句。

6.模糊匹配盡量使用后置匹配

在進行模糊查詢,使用LIKE時盡量使用后置匹配,這樣會走索引,減少查詢時間。

例如:

  1. SELECT * FROM T1 WHERE NAME LIKE '%李四%' 

或者

  1. SELECT * FROM T1 WHERE NAME LIKE '%李四' 

均不會走索引,只有當如下情況

SELECT * FROM T1 WHERE NAME LIKE '李四%'才會走索引。

 

上述這些都是平常經常會遇到的,就直接告訴大家怎么操作了,具體可以下去做試驗嘗試一下,今天就講到這里,如有什么疑問,請在下方留言。

 

責任編輯:武曉燕 來源: SQL數據庫開發
相關推薦

2021-04-21 14:19:52

javaignalHandle接口

2025-01-10 11:07:28

2022-09-29 08:32:14

查詢語句OR

2022-02-08 08:31:52

const關鍵字C語言

2021-04-21 21:06:11

數據結構

2021-06-30 00:19:43

AOP動態代理

2021-03-10 00:02:01

Redis

2021-05-31 06:28:35

AutoMapper對象映射器

2021-03-26 00:20:34

NFT區塊鏈數據庫

2021-08-07 07:56:59

Node邏輯對象

2019-01-31 07:16:06

2022-12-26 08:13:54

子查詢MySQL

2022-08-25 10:37:00

CIOIT領導者

2021-08-30 14:28:56

在線寫作協作文檔辦公軟件

2021-06-06 12:59:14

實現方式計數

2022-10-09 08:35:06

SQL自定義排序

2021-08-05 07:28:27

SQL觸發器結構

2020-09-29 09:41:50

Spring Boot項目代碼

2011-07-20 16:13:03

SQL Profile數據庫

2018-10-15 05:42:52

超參數搜索深度學習數據科學
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 在线成人免费视频 | 色就是色欧美 | 欧美中文字幕一区二区三区亚洲 | 91麻豆产精品久久久久久夏晴子 | 亚洲精品1区2区3区 91免费看片 | 亚洲天堂网站 | 国产一级在线 | 精品www| 亚洲不卡一 | 久久久久久久久久久丰满 | 国产精品一区二区av | 亚洲国产精品成人 | 美日韩免费视频 | 日日摸夜夜爽人人添av | 美女天天操 | 中文字幕视频三区 | 免费黄色片视频 | 国产日产精品一区二区三区四区 | 精品一区二区久久 | 亚洲精品一区二区三区蜜桃久 | 高清视频一区二区三区 | 日本精品在线播放 | 蜜月aⅴ免费一区二区三区 99re在线视频 | 青草视频在线 | 国产精品久久久久久婷婷天堂 | 欧美视频在线观看 | 久色一区 | 亚洲成人免费视频 | 福利片在线观看 | 国产精品久久久久久238 | 久久久久久久网 | 毛片久久久 | 久久亚洲综合 | 色一情一乱一伦一区二区三区 | 日韩在线视频免费观看 | av特级毛片 | 日韩一区二区三区在线观看 | 91中文字幕在线观看 | 9191av| 精品一区二区三区在线观看国产 | 亚洲日本中文字幕在线 |