nHibernateは列のすべての詳細を持つコードを作成しますか?nHibernateとデータベースへのアクセス方法は、パラメータは型/サイズを考慮しますか?
カラム名、サイズ、sqltypeのようなカラムの詳細を持つsqlパラメータを持っていると、通常のado.netでパフォーマンスが向上します。
nHibernateは列のすべての詳細を持つコードを作成しますか?nHibernateとデータベースへのアクセス方法は、パラメータは型/サイズを考慮しますか?
カラム名、サイズ、sqltypeのようなカラムの詳細を持つsqlパラメータを持っていると、通常のado.netでパフォーマンスが向上します。
私はコードの詳細な分析を行っていませんが、そうですね。
public static void SetParameterSizes(IDataParameterCollection parameters, SqlType[] parameterTypes)
private static void SetDefaultParameterSize(IDbDataParameter dbParam, SqlType sqlType)
private static void SetVariableLengthParameterSize(IDbDataParameter dbParam, SqlType sqlType)
public override IDbCommand GenerateCommand(CommandType type, SqlString sqlString, SqlType[] parameterTypes)
{
IDbCommand command = base.GenerateCommand(type, sqlString, parameterTypes);
if (IsPrepareSqlEnabled)
{
SetParameterSizes(command.Parameters, parameterTypes);
}
return command;
}
あなたが実際にこのにチェックする必要がある場合は、ソースコードが提供されています:例えば、SqlClientDriver
のようなメソッドを実装します。
あなた自身で質問に答えて、Hibernateが出すすべてのSQLをログに記録して転送するドライバを使用してください。