A,B服务器,A的PHP程序直接打开B服务器数据库和A的PHP直接访问B的info.php,两者哪个更快?

 我来答
虎爷可乐
推荐于2016-10-13 · TA获得超过253个赞
知道小有建树答主
回答量:238
采纳率:66%
帮助的人:143万
展开全部
实际上,第二种方法更快,也更安全,特别是在 SQL 语句不够优秀的时候,更是后者快,因为mysql 服务器和客户端之间的数据转送都是在B服务器上完成,就算SQL查出多条记录,但几使用一条,中间也只是多占用B服务器的内存而已而不会浪费AB服务器之间的带宽。
用第二种方法,也更安全,可以不用把数据库对外网开放,只能使用本机访问对服务器安全来说还是好很多
追问
回答的比较详细。再等等,要是没人答,就给你采纳。。
另外我多问个运行细节:
A发送了SQL查询语句到B,B得到查询语句后打开数据库占用内存,进行检索,得到的二维表应该在B机吧?可A机的PHP发送查询语句后面还有代码进行匹配等动作,意思是等B机有了二维表后,直接把二维表所有数据返回到A机内存上检索吗?
我希望得到运行逻辑流程原理。。
追答
B机得到的就已经是查询结果了,如果你做过C语言开发(或者PHP的C扩展开发),你一定知道C语言里的数据结构。当B机查询完后,会按照一定的协议(就是 mysql 客户端之间的协议)把结果按照一定的C语言数据结构发送给A机,A机得到的其实只是这个已经结构结果,当PHP通过mysql函数去取时,PHP的mysql函数再把这个C语言的结构转换成PHP的数组(或对象)形式供PHP使用

我想了下,可能你说的二维表就是我说的数据结构,应该是一个意思,那么你理解的就是正确的
莘赡05V
2014-12-14 · 知道合伙人软件行家
莘赡05V
知道合伙人软件行家
采纳数:1397 获赞数:3710
毕业安徽理工大学

向TA提问 私信TA
展开全部
理论上第一种更快,起码少了中间info.php的请求时间
追问
A发送了SQL查询语句到B,B得到查询语句后打开数据库占用内存,进行检索,得到的二维表应该在B机吧?可A机的PHP发送查询语句后面还有代码进行匹配等动作,意思是等B机有了二维表后,直接把二维表所有数据返回到A机内存上检索吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
唐花zjfdisk
2014-12-14
知道答主
回答量:60
采纳率:0%
帮助的人:9.6万
展开全部
A要快点了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式