我正在使用 MySql Connector/Net 6.8.3 对 .Net 应用程序进行故障排除。由于多种原因,性能很糟糕,其中之一是每次调用存储过程时都会对数据库运行以下查询:
SELECT * FROM INFORMATION_SCHEMA.ROUTINES WHERE ROUTINE_SCHEMA LIKE 'myschema' AND ROUTINE_NAME LIKE 'myproc';
在我看来,每次调用过程时,MySql Connector 都会检查存储过程是否存在(并且大概检查参数)。由于存储过程调用的数量,这累积起来会增加大量开销。
是否有一种方便的方法来关闭此行为,或者缓存有关存储过程的信息?
最佳答案
最终我在 MySQL 的 .Net 驱动程序中发现了一个错误。此处描述:http://bugs.mysql.com/bug.php?id=74116
(Oracle 很友善地向我发送了 a t-shirt for submitting a patch ,尽管它似乎尚未合并。)
关于mysql - 禁用 MySql Connector/Net 的重复架构查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25993709/