麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁(yè) > 數(shù)據(jù)庫(kù) > SQL Server > 正文

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

2024-08-31 01:03:29
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

在本文中,小編將與大家重點(diǎn)探討SQL執(zhí)行進(jìn)展優(yōu)化的方法。

聚集索引掃描

SELECT * FROM C_SY_Ownedstorm

聚集索引掃描比表掃描快

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

表掃描

SELECT * FROM #temp

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

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

測(cè)試SQL

CREATE TABLE t1(c1 INT, c2 VARCHAR (8000));GODECLARE @a INT;SELECT @a = 1;WHILE (@a <= 5000)BEGININSERT INTO t1 VALUES (@a, replicate('a', 5000))SELECT @a = @a + 1ENDGO SELECT count(1) FROM t1group by c1

哈希匹配:

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

有缺失或者不正確的索引

缺少where字句

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

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

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

聚集索引查找:

CREATE UNIQUE CLUSTERED INDEX _IdON t1(c1)select * from t1where c1=3

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

排序:

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

select * from t1 order by desc

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

循環(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)行查詢(xún),稱(chēng)為Naive(無(wú)知的)嵌套循環(huán)連接。使用正常索引或臨時(shí)索引時(shí),被稱(chēng)為索引嵌套循環(huán)連接或臨時(shí)索引嵌套循環(huán)連接。

總結(jié)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ì)于大量的輸入是較好的選擇。

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

以上就是小編對(duì)SQL執(zhí)行進(jìn)展優(yōu)化方法進(jìn)行的總結(jié),希望大家能有所收獲。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到MSSQL教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 视频一区二区三区在线播放 | www.国产.com | 精品国产91一区二区三区 | 免费的性生活视频 | 国产精品999在线观看 | 热99热| 国产精品久久久久久久久久久久久久久久 | 欧美一区二区三区不卡免费观看 | 色婷婷久久久久久 | 国产精品久久久久久久久久了 | 国产午夜免费视频 | 亚洲精品久久久久久 | 悠悠成人资源亚洲一区二区 | 午夜精品福利视频 | 成人毛片视频免费 | 国产精品视频1区 | 久久久久久久久91 | 欧美国产91 | aa久久| 91网视频 | www.17c亚洲蜜桃 | 中文字幕 亚洲一区 | 俄罗斯16一20sex牲色另类 | 一区二区三区欧美精品 | 一区二区三区播放 | 福利在线免费视频 | 成人短视频在线播放 | 国产美女的小嫩bbb图片 | 悠悠成人资源亚洲一区二区 | 国产精品白嫩白嫩大学美女 | 天天天干夜夜夜操 | 久久人添人人爽人人爽人人片av | 久久成人精品视频 | hdbbwsexvideo| 国产精品视频免费在线观看 | 九九热免费视频在线观看 | 最新中文字幕第一页视频 | 黄色免费播放网站 | 黄色网电影 | 成人在线视频播放 | 中文字幕亚洲情99在线 |