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