SQL 強制指定索引加快查詢速度

轉自:http://blog.csdn.net/qq380107165/article/details/45502641

?

今天遇到一個查詢問題,多加了一個查詢參數導致查詢超時報黃,經過公司DBA改進,漲姿勢了。現在發出來跟大家分享一下!~

1 SELECT m.* FROM TB_UserSiteGroup u WITH(NOLOCK),Message.dbo.View_Message_8 m WITH(NOLOCK)
2 WHERE  m.FromUserID = u.UserID   AND u.AdminID =880982 and m.state=1  and m.touserID=0 AND u.siteid = 8
3 ORDER BY  m.time DESC

?

這是原始SQL,多加了u.AdminID =880982 參數后導致查詢超時。

查詢后跟WITH(NOLOCK) 理論上可以加快查詢速度的33%,但有可能造成臟讀(百度一下,你就知道)

這是改進后的SQL:

?

1 SELECT  m.*
2 FROM    TB_UserSiteGroup u WITH ( NOLOCK,INDEX=IX_TB_UserSiteGroup_SiteID )
3   JOIN       Message.dbo.View_Message_8 m WITH ( NOLOCK )
4 ON    m.FromUserID = u.UserID
5         AND m.state = 1
6         AND m.touserID = 0
7         AND u.siteid = 8
8         AND u.AdminID = 880982
9 ORDER BY m.time DESC

?

由之前查詢時間2分多變成現在秒出。。。新建了IX_TB_UserSiteGroup_SiteID索引,并強制指定查詢索引。

?

由之前逗號連接(不知道叫啥)改為JOIN連接形式。

?

問了DBA,DBA說JOIN連接會自動搜索最優、最匹配索引進行查找,而逗號連接則是根據where 條件進行匹配查找。之間存在功能損耗。

這些是我模糊記得的東西,DBA說的具體都記不清了,可能不準確,歡迎各位同學補充探討。

?

1 SELECT m.* FROM TB_UserSiteGroup u WITH(NOLOCK,INDEX=IX_TB_UserSiteGroup_SiteID),Message.dbo.View_Message_8 m WITH(NOLOCK)
2 WHERE  m.FromUserID = u.UserID   AND u.AdminID =880982 and m.state=1  and m.touserID=0 AND u.siteid = 8
3 ORDER BY  m.time DESC

?

這段SQL是原始SQL加了指定索引后的結果。
查詢耗時也是秒出。。。
從數據量和時間來看,暫時還看不出JOIN連接和逗號連接的本質區別。之后會跟進學習。

?

?

暫時就是這么多了,記下來供以后參考,也供大家參考學習。

歡迎 大拿 們不吝賜教。補充不對的地方……

轉載于:https://www.cnblogs.com/bjxingch/articles/7324374.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/540773.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/540773.shtml
英文地址,請注明出處:http://en.pswp.cn/news/540773.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

計算機IP地址pin,怎樣PIN?ip地址

1、用鼠標點擊開始——運行(快捷鍵winR)、彈出【運行】對話框、在窗口中輸入cmd,如下圖所示。2、單擊【確定】按鈕、打開命令窗口、如下圖所示;3、在命令窗口輸入ipconfig/all然后按Enter便可以查看本機IP。如下圖所示;4、接下來查看你所需要…

360修復導致服務器,桌面安裝360軟件修復漏洞補丁導致桌面TC端無法登陸,FC端VNC登陸一鍵修復顯示HDC不可達...

問題描述桌面虛機安裝360軟件以后打補丁,觸發桌面虛機重啟以后TC端無法連接到桌面,FC登陸VNC相應的虛擬機通過桌面云修復工具一鍵修復到33%,提示HDC不可達。告警信息處理過程在360服務器端把華為桌面云的進程加入到360服務器的白名單里面&…

java協變返回類型_Java中的協變返回類型

java協變返回類型協變返回類型 (Covariant return type) The covariant return type is that return type which may vary in parent and child class (or subclass). 協變量返回類型是該返回類型,在父類和子類(或子類)中可能有所不同。 Before JDK5 java does not…

dfs文件服務器訪問權限,fastDFS 文件服務器訪問

鑒權 token 獲取token 由文件服務器管理員分配接口定義上傳文件請求 URL:請求方式:GET/POST參數形式:form-data參數:參數名位置類型說明是否必填access_tokenheaderString用戶 token是fileurlMultipartFile文件是返回:…

CCFL的完整形式是什么?

CCFL:冷陰極熒光燈 (CCFL: Cold Cathode Fluorescent Lamp) CCFL is an abbreviation of a "Cold Cathode Fluorescent Lamp". CCFL是“冷陰極熒光燈”的縮寫。 It is a lighting system lamp that contains cathode that discharges electrons and it …

ffmpeg 純靜態編譯,以及添加自定義庫流程摘要

需求: 1. 純靜態編譯ffmpeg ,即ldd ./ffmpeg 的結果是:not a dynamic executable2. 修改ffmpeg 項目,添加自定義功能庫3. 自定義庫由c實現,要求能被純c的ffmpeg項目調用4. 自定義庫必須使用g 的一些高級特性編譯,要求…

vue ani_ANI的完整形式是什么?

vue aniANI:自動號碼識別 (ANI: Automatic Number Identification) ANI is an abbreviation of "Automatic number identification". ANI是“自動號碼識別”的縮寫 。 It is an attribute of a network of telecommunications for involuntarily finding…

realme系統服務器代碼,解鎖BL之后,Realme正式開放源代碼

集微網8月30日消息(文/數碼控),此前Realme已經開放了解鎖BootLoader(簡稱BL),現在官方更進一步,直接將Realme X、Realme X青春版的源代碼開放了。可能有的人不知道解鎖BL與開放源代碼是什么意思,我們在此來說明一下:Bo…

Codeforces 757B - Bash's Big Day(分解因子+hashing)

757B - Bashs Big Day 思路&#xff1a;篩法。將所有因子個數求出&#xff0c;答案就是最大的因子個數&#xff0c;注意全為1的特殊情況。 代碼&#xff1a; #include<bits/stdc.h> using namespace std; #define ll long long #define pb push_back const int N1e55; in…

JavaScript中的const

const (const) Like other programming languages, JavaScript also provide the feature to create constants, we can make any identifier as constant by using the "const". 與其他編程語言一樣&#xff0c;JavaScript也提供了創建常量的功能&#xff0c;我們可…

無法從ftp服務器上復制文件格式,ftp服務器上復制不了文件格式

ftp服務器上復制不了文件格式 內容精選換一換本版本提供dump_data_conversion.pyc腳本&#xff0c;實現dump數據文件與numpy文件格式互轉功能&#xff0c;具體命令行格式如下&#xff1a;-type&#xff1a;數據類型&#xff0c;必選參數 。參數值選項&#xff1a;quant&#xf…

華大基因茅矛:云計算讓精準醫療走進生活

2016年是“十三五”的開局之年&#xff0c;也是中國醫療衛生行業的關鍵一年。現在看來&#xff0c;也會是醫療行業和以大數據為代表的信息技術相互融合發展之年。今年4月&#xff0c;國務院辦公廳印發《深化醫藥衛生體制改革2016年重點工作任務》&#xff0c;其中不僅談到了要加…

Python Pandas –操作

Pandas support very useful operations which are illustrated below, 熊貓支持非常有用的操作&#xff0c;如下所示&#xff0c; Consider the below dataFrame, 考慮下面的dataFrame&#xff0c; import numpy as npimport pandas as pddf pd.DataFrame({col1: [1, 2, 3,…

有道詞典總顯示無法連接服務器,有道詞典無法聯網提示網絡已斷開該怎么辦

人們使用電腦時候最不想看到的事情之一就是上不了網了&#xff0c;無論是工作還是玩游戲時候都很不爽。電腦能正常上網&#xff0c;但是有道詞典始終無法聯網。這是怎么回事呢?下面一起看看!方法步驟1、我是win8的系統。有道詞典無法聯網后&#xff0c;我在網上查了一下方法&a…

ajax+lazyload時lazyload失效問題及解決

最近寫公司的項目的時候遇到一個關于圖片加載的問題&#xff0c;所做的頁面是一個商城的商品列表頁&#xff0c;其中需要顯示商品圖片&#xff0c;名稱等信息&#xff0c;因為商品列表可能會很長&#xff0c;所以其中圖片需要滑到可以顯示的區域再進行加載。 首先我的圖片加載插…

手游pubg mobile服務器正在維護,PUBG Mobile Download Failed怎么解決

《PUBG Mobile》國際服出現下載失敗的情況&#xff0c;你將會收到“Download Failed”提示&#xff0c;你就需要按照下述的方法去解決該問題。注意&#xff1a;如果下載不了 請復制瀏覽器上的鏈接 https:/http://pic.81857.netownloads.gradle.orghttp://pic.81857.netistribut…

Python自動化運維之常用模塊—logging

在現實生活中&#xff0c;記錄日志非常重要。銀行轉賬時會有轉賬記錄&#xff1b;如果有出現什么問題&#xff0c;人們可以通過日志數據來搞清楚到底發生了什么。 對于系統開發、調試以及運行&#xff0c;記錄日志都是同樣的重要。如果沒有日志記錄&#xff0c;程序崩潰時你…

Sys.WORD_SIZE Julia中的常量

Julia| Sys.WORD_SIZE常數 (Julia | Sys.WORD_SIZE Constant) Sys.WORD_SIZE is a constant of the Int64 type in Julia programming language, it is used to get the standard word size of the current system. Sys.WORD_SIZE是Julia編程語言中Int64類型的常量&#xff0c;…

ftp服務器如何配置多個文件夾,ftp服務器如何配置多個文件夾

ftp服務器如何配置多個文件夾 內容精選換一換Model File:模型文件。單擊右側的文件夾圖標&#xff0c;在后臺服務器sample所在路徑(工程目錄/run/out/test_data/model)選擇需要轉化的模型對應的*.prototxt文件&#xff0c;并上傳。Weight File:權重文件。請自行從https://obs-m…

scala 方法調用_Scala中的方法調用

scala 方法調用Scala方法調用 (Scala Method Invocation) Method invocation is the legal and correct technique to call a method in Scala programming language. The methods of a class are usually accessed by using two methods. 方法調用是用Scala編程語言調用方法的…