mysql数据库: 为什么sql语句在查询分析中的执行速度远远快于在应用程序的(而且有时候后者慢的很多)

在程序中同一个sql语句第一次执行时间是0.001,第二次执行时间是0.1数量级的,而且sql语句本身执行所需时间至少在0.0001数量级,数据库在本地,难道只是数据库连... 在程序中同一个sql语句第一次执行时间是0.001,第二次执行时间是0.1数量级的,而且sql语句本身执行所需时间至少在0.0001数量级,数据库在本地,难道只是数据库连接浪费了用掉了这些时间(刚看了下框架中源码,sql语句执行的时间统计的是从数据库连接后到sql语句执行完的时间),提这个问题的目的是想了解一些与此相关的底层一些的东西,或者能得到一些思路,最终可以对这类查询进行优化 展开
 我来答
风中曳枫
2011-09-23 · TA获得超过696个赞
知道小有建树答主
回答量:274
采纳率:0%
帮助的人:142万
展开全部
查询分析的执行速度快于应用程序,主要原因在于应用程序查询的时候,需要调用对应的数据库接口驱动程序,如odbc,jdbc等,使得应用程序能够与数据库本身能够交互,这一块一般无法进行优化,可以优化的地方一般是在建立数据库的时候,数据库的逻辑结构和物理结构的优劣直接影响一个系统的性能如何。
cfasus
推荐于2016-10-16 · TA获得超过705个赞
知道小有建树答主
回答量:876
采纳率:33%
帮助的人:380万
展开全部
为什么找老婆借钱比照别人借钱,效率快很多?因为老婆是自己人。
你用sql语句查,那是自家查自家。
应用程序需要1.连接2.命令3.接收结果,不考虑数据处理其他打开关闭什么的,就比sql语句多了2步。
如举例,你要有个朋友(有钱的情况),然后借钱,结果还不一定能接到。
而老婆,她又没有钱你知道,她不可能不给你钱而饿着你,结果是一定借到还不用还。
sql语句就像是原配的老婆,继承在数据库操作平台中,不快还得了啊。
应用程序:
万一连接写错了,报错,命令写错了报错,结果接收不不如意,这都要考虑(简单的try catch 也影响性能)。
还有一个最致命的问题,你连的未必是本地数据库,这又牵扯到网速问题。
综上所述,慢是必然的,尤其是mysql,在配置优化和存储过程上多下点功夫,会提高点查询速度。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lanniao007
2011-09-17 · TA获得超过1012个赞
知道小有建树答主
回答量:1489
采纳率:40%
帮助的人:449万
展开全部
首先顶一下楼上的。这也是很多大型数据作业基本90%都是采用SQL服务器端自己查自己。而不是将计算处理让客户端来完成。否则效率和性能都很低下。一般数据查询方面基本上都是采用存储过程,函数,触发器,视图等对象直接达到预想的目的。毕竟这些程序都是服务器自己在查询自己。效率和性能与程序本身差异肯定是很大的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友c040ba3
2011-09-15 · 超过41用户采纳过TA的回答
知道答主
回答量:194
采纳率:0%
帮助的人:125万
展开全部
楼上说法大概正确吧
首先,在数据库里你已经登录过了,直接输入直接得到结果
而程序里你首先是要登录数据库,然后查,最后还得返回
这样说应该比较好理解点
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式