久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

SQL中怎么執行進展優化

139次閱讀
沒有評論

共計 1522 個字符,預計需要花費 4 分鐘才能閱讀完成。

這篇文章將為大家詳細講解有關 SQL 中怎么執行進展優化,文章內容質量較高,因此丸趣 TV 小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

聚集索引掃描

SELECT * FROM C_SY_Ownedstorm

聚集索引掃描比表掃描快

聚集索引掃描:發生于聚集表,也相當于全表掃描操作,但在針對聚集列的條件等操作時,效率會較好。

表掃描

SELECT * FROM #temp

表掃描: 發生于堆表,并且沒有可用的索引時,會發生表掃描, 表示整個表掃描一次。

測試 SQL

CREATE TABLE t1(c1 INT, c2 VARCHAR (8000)); GO DECLARE @a INT; SELECT @a = 1; WHILE (@a  = 5000) BEGIN INSERT INTO t1 VALUES (@a, replicate( a , 5000)) SELECT @a = @a + 1 END GO
SELECT count(1) FROM t1 group by c1

哈希匹配:

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

有缺失或者不正確的索引

缺少 where 字句

在 where 子句中有對列的類型轉換或者數據操作,這樣就不能使用索引了

雖說哈希匹配在某些情況下效率會比較高,但是這并不意味著沒有更好的來提高這個查詢的效率,比如添加適當的索引或者通過 where 語句來減少數據量等方法。換句話說,當出現哈希匹配這個操作的時候,我們要引起注意,看看是否還有別的方法來提高查詢效率,如果沒有的話,或許哈希匹配就是 *** 的選擇了。

聚集索引查找:

CREATE UNIQUE CLUSTERED INDEX _Id ON t1(c1) select * from t1 where c1=3

排序:

排序是消耗性能的,sql server 中排序是在數據找出來以后在進行排序的。

select * from t1 order by desc

循環嵌套

對于使用簡單內連接的小數據量表,嵌套循環是 *** 策略。最適合兩個表的記錄數差別非常大,并且在連接的列上都有索引的情況。嵌套循環連接所需的 I / O 和比較都是最少的。

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

合并連接

合并連接也是在讀的同時對兩個存儲輸入的一行進行比較。在每個步驟中,比較每個輸入的下一行。如果兩行是相同,輸出一個連接后的行并繼續。如果行是不同的,舍棄兩個輸入行中較少的那個并繼續。因為輸入是存儲,連接舍棄的任何行必須比兩個輸入中任何剩下的行要小,因此可以永不連接。合并連接不需要對兩個輸入中的每一行掃描。只要到了兩個輸入中的某一個的末尾,合并連接就會停止掃描。

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

關于 SQL 中怎么執行進展優化就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-03發表,共計1522字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 吉木乃县| 宝坻区| 鹿泉市| 临城县| 长宁区| 连山| 榆林市| 鹿邑县| 万源市| 阿合奇县| 肥乡县| 潼关县| 尖扎县| 商丘市| 青河县| 沁源县| 南宫市| 略阳县| 东安县| 浦江县| 微博| 吉首市| 炎陵县| 七台河市| 华蓥市| 龙陵县| 左贡县| 阿克陶县| 丰宁| 自贡市| 定襄县| 万盛区| 竹溪县| 甘泉县| 濮阳县| 邮箱| 永兴县| 明水县| 东乌珠穆沁旗| 吉林省| 浏阳市|