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.mzph.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编程语言调用方法的…