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

SQL 執(zhí)行進(jìn)展優(yōu)化方法總結(jié)

數(shù)據(jù)庫(kù) SQL Server
談到優(yōu)化就必然要涉及索引,就像要講鎖必然要說事務(wù)一樣,建議讀者先了解一下索引。在本文中,筆者將與大家重點(diǎn)探討SQL執(zhí)行進(jìn)展優(yōu)化的方法。

聚集索引掃描

 

  1. SELECT *  FROM C_SY_Ownedstorm 

聚集索引掃描比表掃描快

聚集索引掃描:發(fā)生于聚集表,也相當(dāng)于全表掃描操作,但在針對(duì)聚集列的條件等操作時(shí),效率會(huì)較好。

表掃描

 

  1. SELECT *   FROM #temp 

表掃描:發(fā)生于堆表,并且沒有可用的索引時(shí),會(huì)發(fā)生表掃描,表示整個(gè)表掃描一次。

SQL 執(zhí)行進(jìn)展優(yōu)化

 

 

測(cè)試SQL

 

  1. CREATE TABLE t1(c1 INT, c2 VARCHAR (8000)); 
  2.  
  3.  GO 
  4.  
  5.   DECLARE @a INT
  6.  
  7.   SELECT @a = 1; 
  8.  
  9.  WHILE (@a <= 5000) 
  10.  
  11.  BEGIN              
  12.  
  13.      INSERT INTO t1 VALUES (@a, replicate('a', 5000)) 
  14.  
  15.      SELECT @a = @a + 1 
  16.  
  17.  END 
  18.  
  19.  GO 

 

  1. SELECT count(1) FROM t1 
  2.  
  3. group by  c1 

哈希匹配:

哈希匹配的作用就是把它右側(cè)的兩個(gè)表中行數(shù)比較少的那個(gè)經(jīng)過哈希算法形成一個(gè)哈希表,然后再有另一個(gè)數(shù)據(jù)行數(shù)比較大的表來之前形成的哈希表中匹配查找數(shù)據(jù),大體上就是這個(gè)么流程。但是哈希匹配操作的出現(xiàn)一定要提高我們的警惕,當(dāng)哈希匹配右側(cè)的兩個(gè)表中的數(shù)據(jù)有一個(gè)比另一個(gè)明顯的少的時(shí)候,哈希匹配的效率會(huì)比較高,反之就會(huì)影響效率。出現(xiàn)哈希匹配大概有這么幾個(gè)情況:

有缺失或者不正確的索引

缺少where字句

在where子句中有對(duì)列的類型轉(zhuǎn)換或者數(shù)據(jù)操作,這樣就不能使用索引了

雖說哈希匹配在某些情況下效率會(huì)比較高,但是這并不意味著沒有更好的來提高這個(gè)查詢的效率,比如添加適當(dāng)?shù)乃饕蛘咄ㄟ^where語句來減少數(shù)據(jù)量等方法。換句話說,當(dāng)出現(xiàn)哈希匹配這個(gè)操作的時(shí)候,我們要引起注意,看看是否還有別的方法來提高查詢效率,如果沒有的話,或許哈希匹配就是***的選擇了。

 

 

SQL 執(zhí)行進(jìn)展優(yōu)化

聚集索引查找:

 

  1. CREATE UNIQUE CLUSTERED INDEX _Id 
  2.  
  3. ON t1(c1) 
  4.  
  5. select  * from  t1 
  6.  
  7. where c1=3 

 

 

SQL 執(zhí)行進(jìn)展優(yōu)化

排序:

排序是消耗性能的,sql server中排序是在數(shù)據(jù)找出來以后在進(jìn)行排序的。

 

  1. select  * from  t1 
  2.  order by desc 

 

 

循環(huán)嵌套

對(duì)于使用簡(jiǎn)單內(nèi)連接的小數(shù)據(jù)量表,嵌套循環(huán)是***策略。最適合兩個(gè)表的記錄數(shù)差別非常大,并且在連接的列上都有索引的情況。嵌套循環(huán)連接所需的I/O和比較都是最少的。

嵌套循環(huán)在外表(往往是小數(shù)據(jù)量的表)中每次循環(huán)一個(gè)記錄,然后在內(nèi)表中查找所匹配的記錄并輸出。有很多關(guān)于嵌套循環(huán)策略的名字。例如,對(duì)整個(gè)表或索引進(jìn)行查詢,稱為Naive(無知的)嵌套循環(huán)連接。使用正常索引或臨時(shí)索引時(shí),被稱為索引嵌套循環(huán)連接或臨時(shí)索引嵌套循環(huán)連接。

 

 

SQL 執(zhí)行進(jìn)展優(yōu)化

合并連接

合并連接也是在讀的同時(shí)對(duì)兩個(gè)存儲(chǔ)輸入的一行進(jìn)行比較。在每個(gè)步驟中,比較每個(gè)輸入的下一行。如果兩行是相同,輸出一個(gè)連接后的行并繼續(xù)。如果行是不同的,舍棄兩個(gè)輸入行中較少的那個(gè)并繼續(xù)。因?yàn)檩斎胧谴鎯?chǔ),連接舍棄的任何行必須比兩個(gè)輸入中任何剩下的行要小,因此可以永不連接。合并連接不需要對(duì)兩個(gè)輸入中的每一行掃描。只要到了兩個(gè)輸入中的某一個(gè)的末尾,合并連接就會(huì)停止掃描。

嵌套循環(huán)連接總的消耗和在輸入表中行的乘積成比例,不同于嵌套循環(huán)連接,合并連接的表最多讀一次,總的消耗和輸入行數(shù)的總數(shù)成正比例,因此何必連接對(duì)于大量的輸入是較好的選擇。

SQL 執(zhí)行進(jìn)展優(yōu)化

博文出處:http://www.cnblogs.com/linfangshuhellowored/p/4430293.html

責(zé)任編輯:Ophira 來源: cnblogs
相關(guān)推薦

2016-12-08 15:47:54

sql優(yōu)化數(shù)據(jù)

2011-08-18 09:19:19

SQL Server的SQL查詢優(yōu)化

2012-09-11 15:43:32

HBase

2011-04-06 11:16:47

SQL Server數(shù)查詢優(yōu)化

2011-06-20 14:22:58

外鏈

2011-04-06 11:34:52

SQL Server數(shù)查詢優(yōu)化

2015-07-02 11:17:30

MySQLSlave延遲優(yōu)化

2020-01-16 18:30:07

技術(shù)SQL優(yōu)化

2011-08-18 15:03:47

SQL Server多優(yōu)化方案

2021-07-16 23:01:03

SQL索引性能

2021-07-26 18:23:23

SQL策略優(yōu)化

2014-01-24 09:58:45

fuse文件系統(tǒng)

2017-11-09 17:35:21

數(shù)據(jù)庫(kù)OracleSQL優(yōu)化

2009-03-11 15:40:20

2010-09-25 16:21:41

SQL語句

2011-03-28 17:12:36

sql server數(shù)優(yōu)化

2017-01-23 08:40:33

動(dòng)態(tài)符號(hào)代碼覆蓋測(cè)試

2010-03-31 15:03:54

Oracle執(zhí)行

2010-07-22 11:09:33

SQL Server內(nèi)

2014-07-18 09:33:53

數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)優(yōu)化
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 国产精品视频一二三区 | 6080亚洲精品一区二区 | 久久精品国产99国产精品亚洲 | 91影片 | 在线永久看片免费的视频 | 国产精品区一区二区三 | 在线看av的网址 | 日本不卡在线观看 | 人妖一区 | 成人无遮挡毛片免费看 | 欧美日韩综合精品 | 久久国产成人 | 国产一区二区欧美 | 亚洲精品在 | 伊色综合久久之综合久久 | 亚洲国产欧美在线人成 | 91色综合 | 国产综合网站 | 福利视频网站 | 国产一级在线 | 成人午夜视频在线观看 | 超碰激情 | 久久99精品久久久久久国产越南 | 久久在线 | 国产精品1区 | 国产精品久久久久无码av | 日韩欧美手机在线 | 99福利视频 | 日本中出视频 | 亚洲国产一区二区三区在线观看 | 精品国产乱码久久久久久牛牛 | 天天干b| 欧美一区二区大片 | 国产高清无av久久 | 97碰碰碰 | 国产小视频自拍 | 99国产在线 | 日日爱视频 | av中文在线播放 | 日韩在线一区二区 | 涩涩视频在线播放 |