mysql - 我应该什么时候关闭 MySQL 中的语句
问题描述
一个语句应该尽可能多地重复使用还是有限制?
如果有限制,什么时候关闭它合适?
创建和关闭语句是一项昂贵的操作吗?
解决方案
创建和关闭语句并没有真正的意义。我相信您的意思是创建和关闭游标。游标是您对其结果进行迭代的查询。通常你会在 MySQL 的存储过程和函数中看到它们。是的,它们有打开和关闭的成本,您应该遍历整个集合。
或者,您正在谈论准备好的语句,例如您可能使用 PHP 中的 PDO 库创建的语句。在这种情况下,您可以尽可能多地使用它们,而且确实应该使用它们,因为这样更有效。
每次 MySQL 收到一条语句,它都会将其转换为自己的内部逻辑并创建一个查询计划。使用准备好的语句意味着它只需执行一次,而不是每次调用它。
最后,您可能会尝试询问连接,而不是陈述。在这种情况下,答案再次是肯定的 - 您可以(并且应该)根据需要多次使用它,因为打开它会对性能产生重大影响。尽管您不想让它打开的时间超过您需要的时间,因为 MySQL 有它可以打开的最大连接数。
希望其中之一能回答您的问题。
推荐阅读
- firebase - Firestore 查询 orderBy 不起作用?
- java - Firebase 数据库的模型类
- docker - 将 CI docker cp 文件从实例循环到工件
- javascript - React - 还有另一种处理更新状态的方法,而不是在 setState 方法的回调部分硬编码所有函数?
- java - 我正在尝试在 Linux 环境中安装 ElasticSearch。但返回“失败:网络无法访问”。
- django - 在基于序列化程序的 api 上为不同类型的请求设置不同的权限(使用路由器)?
- java - 如果服务不是由 Spring 管理的,Spring MVC 中是否有任何替代 @Autowired 服务的方法?
- python - 如何在 Flask 中向 request.form 添加参数
- python - Python Selenium 3X 切换到框架不起作用,但 2.53.6 能够工作
- css - 为什么手写笔不显示图标字体