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

查詢表達式對SQL Server查詢性能的優化

數據庫 SQL Server
寫查詢語句時,要避免對數據表進行的順序讀取,這樣就可以防止SQL Server查詢性能的下降,保障數據庫的查詢效率。

SQL Server查詢性能會隨著系統中一些變化因素而有所變化,SQL Server查詢性能有時會直線下降。表的順序讀取是導致SQL Server查詢性能直線下降的原因。

因此,在寫查詢語句時合理使用查詢條件.要避免對數據表進行的順序讀取。主要采用的方法有:

(1)在搜索條件中避免使用關鍵字LIKE,盡可能使用精確

比較

如果能夠使用一個更確定的查詢.就盡量避免使用關鍵字LIKE 。當你使用LIKE 搜索條件時,數據查詢速度降低。

SEU£CT FR0M 學生WHERE學號mce”2003%”

即便是按”學號”建立了索引.上述查詢語句使用了關鍵字LIKE 導致了順序讀寫。降低了執行效率。如果將上面的查詢語句改為如下的形式,則可以使查詢效率提高很多。

SELECT FROM 學生WHERE (學號>:”2003”AND 學

號<”2004’’)

(2)避免使用不合理的關系運算符

在SQL Server 2000中,搜索參數的合法操作符包括=,>,<,>=,<=中的任何一個,如果使用了如”◇ ·-等的不合理的操作符.優化器將忽略那一作為搜索參數的語句.而導致對數據表的順序讀取,不能進行優化。

SELECT FR0M 學生WHERE 年齡<>l8

(3)在查詢條件中不要使用對列進行算術、比較和函數運算對列進行算術、列比較、函數運算,導致語句無法進行優化處理,降低SQL Server查詢性能。

例如,成績(學號,課程代碼,平時成績,期中成績,期未成績,總平成績,學分)和上面的學生表

SELE CT ‘FR OM 成績WHERE 期未成績}0.8>60

(對列進行算術運算)

SELECT FR OM 學生WH ERE UPPERCASE f姓名、=-.ZHENLIGU”(列進行函數運算)

SELECT學生.學號,學生.姓名.成績.總平成績FR 0M 學生.成績 WHERE 學生.學號=成績.學號(列與列之間進行比較)

(4)使用正邏輯而不使用非邏輯

因為,非邏輯操作(如NOT Between、NOT IN和NOT NULL)會導致對表中的記錄從***個記錄開始順序讀取.檢查數據表中的所有行。從而會降低查詢速度

例如:查詢年齡不在l8到20歲的記錄

SELE CT FR0M 學生WHERE 年齡N0T BETWEEN 18 A D 20

而應改寫為:

SELECT FROM 學生WHERE年齡<18 0R年齡>20

(5)將BETWEEN轉化為AND連接的謂詞

由于執行引擎對各種謂詞的處理方法不同. 因此把邏輯表達式”B翻 rEEN 表達式1 AND 表達式2”寫成等價且效率較高的用AND連接的兩個謂詞表達式.來提高查詢效率。

例如:查詢年齡在18到20歲的記錄

SELECT FROM 學生WHERE 年齡BE1WEEN 18 AND 20

改寫成:

SELECT FROM 學生WHERE年齡>=18 AND年齡<=20

(6)用集合運算UNION來代替邏輯運算OR

盡管索引能提高查詢效率.若在WHERE子句中使用了邏輯運算OR表達式.強迫優化器使用順序存取。例如:

SELECT*FR0M 學生WHERE學號>”21005”AND學號<”21020”0R系別:”計算機系”

雖然在”學號”和”系別”上都建有索引.但是在上面的語句中優化器還是使用順序存取的方法掃描整個表。因為這個語句要檢索的是分離的行的集合.所以將上面的語句改為如下語句:

SELECT FR0M 學生WHERE學號>”21005”AND 學號<”21020”

UN10N

SELECT FROM 學生WHE RE系別=”計算機系”

利用”學號”和”系別”所建索引進行查詢.將所得到的結果集,通過集合并運算UNION,得到查詢結果集,提高了查詢效率。
 

 

 

【編輯推薦】

SQL Server連接錯誤的處理方法

SQL Server管理相關的注冊表技巧

帶您了解SQL Server權限管理策略

SQL Server服務器角色簡介

SQL Server用戶帳號管理

責任編輯:段燃 來源: 互聯網
相關推薦

2010-10-21 11:10:57

SQL Server查

2024-06-27 00:36:06

2011-10-28 16:34:13

LINQ

2009-09-10 15:35:07

LINQ查詢表達式

2024-03-01 08:51:01

Django查詢表達式查詢語句

2009-03-23 10:47:43

數據庫SQLLINQ

2011-08-12 10:31:01

T-SQL查詢基于列的邏輯表達式

2009-09-07 17:18:33

LINQ查詢表達式

2009-09-11 09:53:16

Linq查詢表達式

2009-08-27 09:13:28

LINQ查詢表達式

2009-09-17 11:08:55

LINQ查詢表達式

2021-05-25 09:18:04

正則表達式Linux字符串

2019-12-17 17:01:02

MySQLSQL數據庫

2022-01-14 07:56:39

C#動態查詢

2009-09-17 09:09:50

Lambda表達式Linq查詢

2021-08-17 10:39:54

SQL Server數據庫優化

2010-11-12 13:20:31

SQL Server

2009-06-12 09:44:04

LINQ查詢復合from子句

2010-07-01 14:23:25

SQL Server查

2010-11-12 11:25:44

SQL SERVER視
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 自拍偷拍3p | 久久久av中文字幕 | 亚洲天天干 | 国产欧美精品一区二区三区 | av黄色在线| 热99视频| 国产精品一区在线 | cao视频| 黄色免费网 | 日本黄色免费片 | 日本人爽p大片免费看 | 精品久久久久久久久亚洲 | 日韩精品在线播放 | 久久久成| 久久久久久久久一区 | 欧美精品一区二区免费 | 国产精品一区在线观看你懂的 | av片在线播放 | 羞羞视频在线网站观看 | 久久久久久久久久一区 | 911精品国产 | 午夜小视频在线播放 | 成人做爰www免费看 午夜精品久久久久久久久久久久 | 97色在线视频 | 日韩精品视频在线观看一区二区三区 | 黄色欧美视频 | 97国产精品视频 | 欧美一级久久 | 国家一级黄色片 | 亚洲+变态+欧美+另类+精品 | 日韩精品视频一区二区三区 | 色综合天天天天做夜夜夜夜做 | 亚洲国产成人精品一区二区 | 亚洲欧美日韩在线一区二区 | 欧美成人精品 | 插插插干干干 | 国产精品久久久久久久久久久免费看 | 国产一区高清 | 日韩视频一区 | 日韩精品一区二区三区在线播放 | 中文字幕高清av |