慢SQL语句在客户端中执行的并不慢的原因。

在很多情况下,如果发现在慢SQL中的语句在客户端中执行的并不慢,是为什么?有可能是什么原因引起的

1个回答

1.数据量级不够大;

2.读了缓存;

3.不是高频查询;

4.Mysql引擎是MyISAM;

5.服务器配置高;

hjs218
Json-Huang 回复one_plus1: 多谢~
大约一个月之前 回复
one_plus1
one_plus1 感谢,祝你升官发财!
大约一个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
sql执行慢的原因
1.创建一个临时Table   CREATE TABLE #HarveyLock( SPID  INT, DBID  INT, OBJID  INT, INDID  INT, TYPE  VARCHAR(100), RESOURCE VARCHAR(100), MODE  VARCHAR(100), STATUS  VARCHAR(100))   2.将Lock信息存入该Table I...
windows7 慢不慢
我1G内存.真是慢的要死
SQL语句执行特别慢
业务如下:rn从表A中取得电话字段到表B中的三个电话字段去匹配,只要表B中有一个电话匹配,即输出该条数据,如果不匹配到表C中的三个电话字段去匹配,只要有一个电话匹配,即输出该条数据rnrn以表A中电话循环。rn※电话字段不是表中的主键rnrn源代码如下:数据一共10万条,运行超20秒, 请大家帮忙看看rn——————————————————————————————rnSELECT *rnFROM @CustomerDt --用户自定义表类型rn WHERE EXISTS (SELECT 1rn FROM KH_QZKHrn WHERE ISDEL = 0rn AND (KH_QZKH.MOBILEPHONE1 = [联系方式1]rn OR KH_QZKH.MOBILEPHONE2 = [联系方式1]rn OR KH_QZKH.MOBILEPHONE3 = [联系方式1] rn OR KH_QZKH.FIXPHONE1 = [联系方式1]rn OR KH_QZKH.FIXPHONE2 = [联系方式1]rn OR KH_QZKH.FIXPHONE3 = [联系方式1]rn rn OR KH_QZKH.MOBILEPHONE1 = 联系方式2rn OR KH_QZKH.MOBILEPHONE2 = 联系方式2rn OR KH_QZKH.MOBILEPHONE3 = 联系方式2rn OR KH_QZKH.FIXPHONE1 = 联系方式2rn OR KH_QZKH.FIXPHONE2 = 联系方式2rn OR KH_QZKH.FIXPHONE3 = 联系方式2rn rn OR KH_QZKH.MOBILEPHONE1 = 联系方式3rn OR KH_QZKH.MOBILEPHONE2 = 联系方式3rn OR KH_QZKH.MOBILEPHONE3 = 联系方式3rn OR KH_QZKH.FIXPHONE1 = 联系方式3rn OR KH_QZKH.FIXPHONE2 = 联系方式3rn OR KH_QZKH.FIXPHONE3 = 联系方式3)rnrn OR EXISTS (SELECT 1rn FROM CUSTOMERrn WHERE [联系方式1(*)] = CUSTOMER.MOBILEPHONE1rn OR [联系方式1(*)] = CUSTOMER.MOBILEPHONE2rn OR [联系方式1(*)] = CUSTOMER.MOBILEPHONE3rn OR [联系方式1(*)] = CUSTOMER.FIXPHONE1rn OR [联系方式1(*)] = CUSTOMER.FIXPHONE2rn OR [联系方式1(*)] = CUSTOMER.FIXPHONE3 rn rn OR 联系方式2 = CUSTOMER.MOBILEPHONE1rn OR 联系方式2 = CUSTOMER.MOBILEPHONE2rn OR 联系方式2 = CUSTOMER.MOBILEPHONE3rn OR 联系方式2 = CUSTOMER.FIXPHONE1rn OR 联系方式2 = CUSTOMER.FIXPHONE2rn OR 联系方式2 = CUSTOMER.FIXPHONE3rn rn OR 联系方式3 = CUSTOMER.MOBILEPHONE1rn OR 联系方式3 = CUSTOMER.MOBILEPHONE2rn OR 联系方式3 = CUSTOMER.MOBILEPHONE3rn OR 联系方式3 = CUSTOMER.FIXPHONE1rn OR 联系方式3 = CUSTOMER.FIXPHONE2rn OR 联系方式3 = CUSTOMER.FIXPHONE3rn )
sql语句第一次执行慢
写了一个分页的sql语句,第一次执行的效率很慢,rn[code=sql]rnSELECT poco_base.*rnFROM ( rnSELECT ROW_NUMBER() OVER(ORDER BY Exam_RowID asc) AS RowID,rn Exam_ID AS ExamID,Exam_Difficulty AS Difficulty,rn Exam_StuUsedCount AS StudentUsedCount, rn Exam_QuestionTypeID AS QuestionTypeID,rn Exam_QuestionTypeName AS QuestionTypeName,rn Exam_ErrorCount AS ErrorCountrnFROM dbo.T_ExamSyncrnWHERE (Exam_State=1)) poco_base WHERE poco_base.RowID>0 AND poco_base.RowID<=10 rnrnrnrn[/code]rn表里面数据也就十来万,Exam_RowId是主键自增长,Exam_ID是唯一索引rn[img=https://img-bbs.csdn.net/upload/201604/15/1460682795_545314.png][/img]rn
求这一条SQL执行慢的原因
rnm_pRecordsetPtr->Open("SELECT * FROM cthd WHERE th=FALSE ORDER BY cthdid",rn m_pConnection.GetInterfacePtr (),adOpenDynamic,adLockOptimistic,adCmdText);rnrnvc6.0 +ADO +access数据库,cthd表中21688条记录rnrn在本机执行程序不用一秒就可以打开,局网中执行程序这条语句要4秒中以上 ,不知道是网络中执行这条语句的效率慢,还是网络本身的原因,我的网络是无线网络,又跟主机经过三个路由,其中两个有线联接,一个无线联接.
oracle 查看执行最慢 sql
愤怒的不争 2016-12-22 22:06 查询执行最慢的sql select * from (select sa.SQL_TEXT, sa.SQL_FULLTEXT, sa.EXECUTIONS "执行次数", round(sa.ELAPSED_TIME / 1000000, 2) "总执行时间", round(sa.ELAPSED_TIME / 1000000 / sa
一条sql慢的原因
1 首先看执行计划 EXPLAIN,查看是不是走了索引 2 没有索引创建索引 3 sql 语句优化,拆分语句或者根据sql 语句特性优化 4 数据量大的话,数据库io能力跟不上 5 创建了索引但是索引没有生效 1 sql 语句原因 2 创建索引太多,索引冗余,降低了查询效率 3 数据量太小,全表查询都比创建索引快 并不是所有索引对查询都有效,SQL是根据表中数据来进行查询优化的,当索引列有大量数...
SQL慢的原因(三)
id   name   email  weixinNumber单键索引select * from user where name='';create index idx_user_name on  user(name)  -----------------------------------------------复合索引select * from user where name='' and e
执行远程存储过程慢的原因
有3台服务器 A,B,CrnA的数据库中存放有数据;(SQLSERVER2008)rnB的数据库中有存储过程P1,访问A上的数据;;(SQLSERVER2005)rnC的数据库中有存储过程P2,其中调用B上的P1来访问A上的数据;;(SQLSERVER2005)rnrn(1).在B上直接执行P1很快;rn(2).但在C上执行P2,发现调用P1时的执行时间很长,几乎是(1)的5倍!rn这是什么原因啊?rn
sql语句执行速度特别慢的问题
我的sql语句是:INSERT INTO TABLE (A, B, C, D) SELECT a, b, c, d FROM DUAL WHERE NOT EXISTS (SELECT * FROM TABLE WHERE TABLE.A = a AND TABLE.B = b AND TABLE.C = c AND TABLE.D = d);rn作用是如果表中不存在重复的数据则插入数据。我表中已经有了4000万的数据量,并且建立了在A列建立了索引,在B列也建立了索引。我在执行该语句时速度特别慢,请问有什么可以改进的措施和方法。(其中,A,B,C,D为表中的字段,a,b,c,d为要插入的数值)。
win7下执行SQL语句非常慢
发现在win7执行 sql语句 rnselec count(*)from rn时效率很慢 会让程序卡死3-4秒。rn数据为0时也是如此。在XP系统下没有这个问题。rn请教各位大神,纠结几天了。
navicat 还原数据库,执行sql语句慢
1.将sql语句,复制到新建查询页面,执行。 2.选择数据库执行sql文件。   方法二比方法速度快很多,建议使用方法二还原数据库。我使用第一种方法还原数据库需要30分钟,使用第二种方法大概30秒中...
SQL SERVER-Extendevent捕获执行慢的语句
USE MASTER; GO /* Conditionally drop the session if it already exists */ IF EXISTS (SELECT * FROM sys.server_event_sessions WHERE name = 'EE_SlowQueryLog') DROP EVENT SESSION EE_SlowQueryL...
SQL语句执行慢,怎么修改?
SELECT 员工, count(完成状态) AS 完成量,sum(完成数) AS 合格数 FROM 表1 WHERE 表1_ID not in rn(select 表1_ID from 表1 INNER JOIN 表2 ON 表1.ID = 表2.ID And 表1.机器号 = 表2.机器号 where and 含量<100 and 用量>0 AND 生产时间 between '2011-08-15 00:00:00' and '2011-08-15 23:59:59' group by 表1_ID)rnand 完成数>0 AND 生产时间 between '2011-08-15 00:00:00' and '2011-08-15 23:59:59' GROUP BY 员工rnrn现在运行下来很慢,请问各位大哥怎么把 NOT IN 修改成 EXISTS,这样是不是能快一点,要怎么写?rnrnrnrn
sql存储过程比sql语句执行慢很多
最近发现某几个存储过程执行时间很长,就拿出来分析, 发现sql语句执行居然很快,而存储过程反而很慢。 查询的表是个数据量很大的表,时不时都有数据插入。rn我的存储过程写的是,先创建一个临时表 #abc,然后把数据统计到这个临时表,然后再查询出来。rnsql版本 08。rn求解答~
SQL在客户端慢的问题
有个很复杂的SQL查询,客户端用VB+ADO,同样的数据库在单独的测试服务器上运行速度完全正常(win2k+Oracle9i),用Oracle的导出导入功能,把数据库移植到正式服务器上(Unix+Oracle9i),在服务器上测试,这条SQL还是很快(没优化前1秒左右,优化后不到0.1秒),但是在客户端(VB+ADO+Oracle9i客户端,XP环境)就很慢,要5秒以上。rn请问各位专家,有没有碰到类似情况?和服务器设置有什么关系吗?
监控执行慢的SQL
可以监控运行时间长的SQL,并进行优化
Sql执行慢
问题:rn我现在有2个表(Table1, Table2),表一有两个整型字段(A1,A2),表2有一个整型字段B1,要求查出全部满足条件的(A1,B1)对,并按B1进行排序。条件为A1和B1都大于0,且A1B1。两个表各有8万条,我现在要用6分钟,太慢了,请帮助改进。rn我的SQL语句:rnselect A1, B1rn from Table1, Table2rn where A1 > 0 rn and B1 > A1rnand B1 < A1+ A2 rnorder by B1;rn我已经对A1,B1建了索引。rn
sql执行慢,谢谢
相同的表和相同的数据,相同的sql语句,在sqlServer中执行很快,但在oracle中执行很慢,我应该检查oracle中什么地方。sql不能变
hawq执行慢sql
执行语句为:  explain analyze  select  count(*) from  L_T054 a  join   L_T120 b on  a.d020=b.d020   执行计划为:    "Aggregate  (cost=1520822218.88..1520822218.89 rows=1 width=8)" "  Rows out:  Avg 1.0 ro
sql语句在客户端执行完好,在java后台中执行报异常
执行sql语句返回yntax error: syntax error, expect LPAREN, actual NOT not可是我把sql语句在sql客户端执行是Ok的后来在一个博客的评论区找到了原因原来改sql语句执行被druid配置的防火墙拦截了将druid.filters属性中的wall去掉就好druid 参数详见 http://blog.csdn.net/hj7jay/article
matlab for循环其实并不慢
matlab for循环其实并不慢,首先matlab是一个解释性语言,变量不需要提前申明,这也就是导致很多人误认为matlab for循环很慢的。其实是错误的认识! 原因:因为matlab循环中变量没有预先声明,导致在循环中数组大小不断变化,当大小增长时,当前数组可能需要复制到新的更大的连续内存中,这显然会导致不必要的开销。如果数组长度较短,发生上述复制过程的次数少一些,而且发生时需要复制的内容
问个SQL语句执行失败的原因
ADO连接MS SQL Server2005,执行如下SQL语句rnrnCREATE TABLE MyTable(SeqNum INT IDENTITY PRIMARY KEY, UserID varchar(16), Operation INT) rnINSERT INTO MyTable (UserID, Operation) VALUES('user1', 1) rnINSERT INTO MyTable (UserID, Operation) VALUES('user1', 2) rnDROP TABLE MyTableBackup rnSELECT * INTO MyTableBackup FROM MyTable rnDELETE FROM MyTable rnSET IDENTITY_INSERT MyTable ON rnINSERT INTO MyTable SELECT * FROM MyTableBackup -----[color=#FF0000]这条语句执行失败[/color] rnSET IDENTITY_INSERT MyTable OFF rnrn错误信息:IDispatch error #3092rnrn[color=#FF0000]将上面的INSERT INTO MyTable SELECT * FROM MyTableBackup改为 rnINSERT INTO MyTable(SeqNum, UserID, Operation) SELECT * FROM MyTableBackup rn执行成功[/color]rnrn谁能帮忙解释一下,或者有办法让INSERT INTO MyTable SELECT * FROM MyTableBackup执行成功rn
sql语句停止执行,不知原因
用java写的代码是对一张表进行update,一工有160多条,WHERE条件中还有和其它表的关联,运行的时侯总是到60就停住了,之前的都执行了,我看了下不是SQL语句的问题,我是把SQL放在一个静态数组里的,用的时侯用FOR来取
SQL语句直接执行快,在程序中慢
有没有人知道一个SQL语句直接在pl/sql执行很快rn但是用PreparedStatement.executeQuery 执行就很慢rn会是什么原因呢
sql查询慢的原因,及解决方法
详细的描述了,sql查询慢的48个原因及解决方法.
SQL查询慢的十大原因
概述了SQL查询慢的十大原因,概述了SQL查询慢的十大原因,SQL查询慢的十大原因
SQL查询慢原因分析
SQL查询慢原因分析SQL查询慢原因分析
SQL数据库慢是什么原因?
rn我们的网站的程序服务器rn和数据库服务器是分开的rn数据库的服务器rn只装了一个SQLSERVER2000,其他什么也没有运行rn内存是1G的(基本上只使用到五六百M) rnCPU是双至强2.4的 rn我们的数据库文件现在已经3G多rn近一段每天下午的时候数据库非常慢.rn想请问一下是什么原因rn是数据库太大了呢?rn还是在线人数太多造成的.rn谢谢!!!
update 语句执行非常慢
详细语句如下:update da_gr_hxda set sjhm='68951787' where grbjh='P04419820hd',where后面所跟的条件是唯一值,也就是说,这条update语句只修改一条数据,但执行需要20多秒,前几天还是好的,这几天突然出现的问题,求大神指教
SQL语句查询数据慢
select h.wpshdrmseq as DocNo,h.wpshdrdat1 as DocDate,h.wpshdrrdn5 as Particular,d.wpsdtlplcd as ItemCode,d.wpsdtlfnmp as ItemName,d.wpsdtlqty1 as Qty,d.wpsdtlupxf as cost,rn p.pxppdxpx02 AS CurrentRetail,p.pxppdxpx06 AS BottomPrice,p.pxppdxpx01 AS OriginalRetail,pm.pmrpclcl01 as Deptrnfrom wpsdetail as d,wpsheader as h,pxppludpx as p,pmrpluccls as pmrnwhere (h.wpshdraseq = d.wpsdtlaseq) AND (h.wpshdrcpcd = d.wpsdtlcpcd) AND (h.wpshdrbrcd = d.wpsdtlbrcd) AND h.wpshdrlevl = d.wpsdtllevlrn and (h.wpshdrcpcd = p.pxppdxcpcd) AND (h.wpshdrbrcd = p.pxppdxbrcd) AND (h.wpshdrlevl = d.wpsdtllevl) AND (h.wpshdraseq=d.wpsdtlaseq) and (d.wpsdtlskcd=p.pxppdxplcd)rn and (pm.pmrpclcpcd = h.wpshdrcpcd) AND (pm.pmrpclbrcd = h.wpshdrbrcd) AND (pm.pmrpclplcd = d.wpsdtlplcd)rn and h.wpshdrmseq='DR16-0923'rnrn请问有没有别的写法,我这样写法性能不好,查询4天的数据1392条记录,用时1分32秒,太慢了.
SQL语句慢的问题
有这么一条语句rnSELECT *rn FROM (SELECT bc.billno, bc.billtype, bc.usercardid, bc.custname, rn bc.detailaddr, bc.booktime, to_char(bc.createtime, rn 'YYYY-MM-DD HH24:MI:SS'), (SELECT max(opername)rn FROM v_workman rn WHERE operid = bc.acceptman), (SELECT deptnamern FROM ptdeptrn WHERE deptid = bc.workdep), (SELECT max(opername)rn FROM v_workmanrn WHERE operid = bc.workman), bc.billstatus, rn rownum myrownumrn FROM v_billcontrol bc /*这是一个视图,3个表的union all*/rn WHERE 1 = 1rn AND bc.usercardid = '0601617') aaarn WHERE aaa.myrownum > 0rn AND aaa.myrownum <= 60rn执行速度很慢,大约30秒rnrn 但是其中的子查询rnSELECT bc.billno, bc.billtype, bc.usercardid, bc.custname, rn bc.detailaddr, bc.booktime, to_char(bc.createtime, rn 'YYYY-MM-DD HH24:MI:SS'), (SELECT max(opername)rn FROM v_workmanrn WHERE operid = bc.acceptman), (SELECT deptnamern FROM ptdeptrn WHERE deptid = bc.workdep), (SELECT max(opername)rn FROM v_workmanrn WHERE operid = bc.workman), bc.billstatus, rn rownum myrownumrn FROM v_billcontrol bc /*这是一个视图,3个表的union all*/rn WHERE 1 = 1rn AND bc.usercardid = '0601617'rn语句单独执行,速度很快,不到一秒的时间,不知道这是什么原因,请高手指教,谢谢!
oracle跟踪客户端执行的SQL语句
数据库:oracle 11grnweb服务:iis 7.0rn程序:c#和asp.netrn客户端工具:IErnOS:windows server 2008rnrn因为程序是直接由集团上线的,上线完后就拍屁股走人了,没有留下可以参考的文档(NND的连个技术文档都木有),然后交由我们进行软件的售后服务,我们是一头雾水,不知道从哪儿弄起,现在的业务功能模块很多,不知道哪个功能涉及到哪些表,也不知道是哪些SQL语句,现在想通过客户端在IE上的操作跟踪一下是哪些SQL语句,对应的表是哪些(以前玩的是MSSQL,sqlprofiler都会用,现在换成oracle了,就蒙了),如何处理的逻辑等SQL语句。rn网上参考了许多文档,有trace,审计,trigger等啥的,但有点儿蒙,trigger试过了,不合适需求(因为客户端有100多个,而且是一个帐号),trace好像不能跟踪指定客户端的SQL(个人理解不知道对不对),不知道哪个客户端的IE在操作什么SQL。rn现在想跪求哪位大神,帮我看一看有什么解决的办法木有,真的是着急了rn跪求了!!!!
[mysql]SQL语句性能优化--Group by中执行慢性能差的原因调查与处理
1. mysql在数据量较大的时候、使用group by查询结果集时速度很慢的原因可能有以下几种:1) 分组字段不在同一张表中2) 分组字段没有建索引3)分组字段加DESC后索引没有起作用(如何让索引起作用才是关键、且听下文分解)4)分组字段中加函数导致索引不起作用(这种一定要避免、本文不对这种情况展开说明)5)分组字段中含有TEXT或CLOB字段(改成VARCHAR字段)2.今天讲讲多表关联、但...
mybatis执行慢,sql配置中#与$
    在一个项目中,使用了mybatis,在实验环境中一切正常,在正式环境中数据库量比较大,出现查询慢的情况,是特别慢,但生成的sql在pl/sql中并不慢。困扰了很久(现在也没有完全解决),后来发现是mybatis在生产内部SqlSession时特别耗时(具体原因不明)。将sql配置中部分的#改为$,生产SqlSession就很快了。      在mybatis中使用#相当于jdbc中的?,...
sql存储过程里组织sql语句并执行,
CREATE PROCEDURE tt rn@a varchar(100),rn@b varchar(100)rn ASrndeclare @c varchar(100),@d varchar(100)rnselect @c ='select * from tensile where 'rnif @a != ''rn select @c=@c + 'tensile_unit = ' +@a rn exec @crnif @b !=''rn select * from tensilernrnrnGOrnrnrnexec tt @a ='质检中心',@b=''rnrn服务器: 消息 2812,级别 16,状态 62,行 9rn未能找到存储过程 'select * from tensile where tensile_unit = 质检中心'。rn服务器: 消息 2812,级别 16,状态 62,行 13rn未能找到存储过程 'select * from tensile where tensile_unit = 质检中心'。
用SQL语句创建存储过程,并执行
一.创建一个存储过程 里面有个输出参数output create proc multi @num1 int, @num2 int=10 output --output的功能类似于C#中的out修饰参数 as set @num2=@num2*@num1 print @num2 二.执行存储过程 exec multi 5,5这时输出:25 忽略了输出参数的默认值10 e
python连接数据库并执行SQL语句
python连接数据库并执行SQL语句 第一次发表博客,如果有什么错误请见谅 1.创建与数据库连接对象 2.建立游标对象 3.利用游标对象 执行SQL语句命令 4.#提交到数据库 5.关闭游标对象 6.关闭数据库连接 7.建立一个Mysqlpython 类 实现数据库的连接 关闭 和执行SQL语句操作,实现对数据库连接的封装 个人理解 因为在所有计算机语言中, 连接数据库是...
java 读取.sql文件并执行sql语句
现在有a.sql文件,用java如何执行它
Linux脚本连接数据库并执行SQL语句
“盈盈楼上女,皎皎当窗牖” 最近收到一个任务就是,需要写一个自动的脚本,把数据查出来,并导出数据文件; 具体步骤是:1:根据基表生成当天的日表; 2:往生成的日表插入数据; 3:把插入日表的数据导出来; 具体脚本及说明如下: #!/bin/bash #数据库连接配置 #ip地址 DBHOST=&amp;quot;135.10.59.62&amp;quot; #端口 DBPORT=&amp;quot;3306&amp;quot; #用户名 DBUSER=&amp;quo
相关热词 c++和c#哪个就业率高 c# 批量动态创建控件 c# 模块和程序集的区别 c# gmap 截图 c# 验证码图片生成类 c# 再次尝试 连接失败 c#开发编写规范 c# 压缩图片好麻烦 c#计算数组中的平均值 c#获取路由参数