首页 > 解决方案 > 我应该什么时候关闭 MySQL 中的语句

问题描述

一个语句应该尽可能多地重复使用还是有限制?

如果有限制,什么时候关闭它合适?

创建和关闭语句是一项昂贵的操作吗?

标签: mysql

解决方案


创建和关闭语句并没有真正的意义。我相信您的意思是创建和关闭游标。游标是您对其结果进行迭代的查询。通常你会在 MySQL 的存储过程和函数中看到它们。是的,它们有打开和关闭的成本,您应该遍历整个集合。

或者,您正在谈论准备好的语句,例如您可能使用 PHP 中的 PDO 库创建的语句。在这种情况下,您可以尽可能多地使用它们,而且确实应该使用它们,因为这样更有效。

每次 MySQL 收到一条语句,它都会将其转换为自己的内部逻辑并创建一个查询计划。使用准备好的语句意味着它只需执行一次,而不是每次调用它。

最后,您可能会尝试询问连接,而不是陈述。在这种情况下,答案再次是肯定的 - 您可以(并且应该)根据需要多次使用它,因为打开它会对性能产生重大影响。尽管您不想让它打开的时间超过您需要的时间,因为 MySQL 有它可以打开的最大连接数。

希望其中之一能回答您的问题。


推荐阅读