预处理的一些疑惑

pengyou41 2013-08-02 09:34:13
在代码中对sqla建立预处理stmta0,可以对这个stmt 执行多次bind_param和execute 这个是预处理快的原因吧。
但是有个
0.之后又对sqla再次调用PREPARE建立预处理,这时mysql是对sqla建立新的stmta1,还是就是(mysql自身的优化)使用之前的stmta0?
1.如果是每次对同样的sql都是建立新的stmt,并且这种交替很频繁,那预处理应该比query还慢吧?这种情况我下,如果要达到预处理的效果,那岂不是要在我的代码中来保存这个stmt,在代码层面来保持stmt的静态性。
2.如果是对同样的sql只建立一个stmt(类似静态),那mysql岂不是需要在mysql端来保证形同sql的stmt的静态性,消耗保持在mysql端?
3.以上理解都错了?求赐教。
4.如果我在客户端代码中使用stmt来调用存储过程,这个存储过程中又有另外的stmt(一个或多个)执行,那返回到客户端的是哪个stmt的结果?
...全文
79 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
pengyou41 2013-08-02
  • 打赏
  • 举报
回复
再顶 再顶 再再顶
pengyou41 2013-08-02
  • 打赏
  • 举报
回复
自己顶自己啊啊啊

56,681

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧