gpt4 book ai didi

.net - MySQL缓存

转载 作者:行者123 更新时间:2023-11-30 21:24:45 25 4
gpt4 key购买 nike

昨晚我向 mySQL 数据库中的存储过程添加了一个参数。我访问了它,弄乱了参数,并决定再次删除该参数以进行测试。在没有参数的情况下重新创建过程几分钟后,我的命令对象仍在提示缺少参数。这是 mySQL、MySQL/Connector、ADO 或企业库的错误吗?我该怎么办?

最佳答案

默认情况下,MySQL 在您的存储过程中缓存查询。查看是否启用了查询缓存:

SHOW VARIABLES LIKE 'query_cache%'

存储过程调用不会被 MySQL 缓存,但如果 query_cache_type 为 ON,这将影响从过程中发出的查询的缓存。可能导致 MySQL 在几分钟内返回相同的结果。尝试刷新缓存,或者更好的是,如果更新后的过程不断返回以前的结果集,则重置查询缓存以删除所有查询:

RESET QUERY CACHE 

这应该会消除 MySQL 服务器的任何缓存。

下次发生这种情况时,您可以通过另一个不使用 MySQL/Connector 或 Enterprise Library 的工具手动执行该过程。这将告诉您旧结果集是否由 MySQL 或应用程序中的驱动程序和应用程序 block 缓存。

编辑: 请阅读下面的评论,来自 desertwebdesign。重新创建存储过程后,断开连接。连接池可能使连接保持打开状态,因此最好终止来自 MySQL 的连接。如果您使用进程/ super 权限登录,大多数查询浏览器都有一个选项卡,允许您终止 MySQL 中的连接。

SHOW FULL PROCESSLIST
KILL CONNECTION thread_id

关于.net - MySQL缓存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/286585/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com