我正在研究一个对程序执行任意脚本的.NET程序。重新使用ADO.NET命令对象是一个好主意吗?
当运动课开始写数据库访问代码,他简单地暴露一个命令对象,其被重新使用的应用程序的其余部分(设置CommandText
/Type
,主叫ExecuteNonQuery()
等)为每个语句。
我想这是一个重复的,相同的语句的重大性能打击,因为它们每次都被重新解析。
但是我想知道的是:如果每个语句都不同于前一个语句(不仅是不同的参数,而是完全不同的语句),这是否会降低执行速度?我无法在文档中轻松找到答案。
顺便说一下,使用的RDBMS是Oracle,但我想这个问题并不是特定于数据库的。
P.S.我知道暴露相同的Command
对象不是线程安全的,但这不是一个问题。